Programm das JPEG öffnet

Verschiedenes zu Qt
Antworten
Moritz
Beiträge: 16
Registriert: 26. März 2009 18:00
Wohnort: Aachen

Programm das JPEG öffnet

Beitrag von Moritz »

Hallo,

ich möchte mit Qt ein Programm schreiben welches JPEGs öffnen kann. Ich habe nun keine Ahnung was man da braucht. Ich google nun schon seit stunden danach und hoffe das mir jemand helfen kann. Ich bin bis jetzt nicht sehr weit gekommen. QImage kann ja JPEGs schreiben und lesen das wäre ja nicht schlecht vor allem weil ich sie auch später verändern will. also wenn ich mir eine Funktion schreibe

Code: Alles auswählen

void MyClass::loadImage()
{
     QImage image("C:\Daten\Bild.jpeg");
}
spuckt er schonmal keinen Fehler aus. wie komme ich jetzt an die daten ran. Ich wollte image.scanLine(0-255) (Bild ist 256*256 groß). Die Funktion erwartet einen const uchar*. wie bekomme ich die Bildinfos in ein array. Ich finde keine Beispiele. kann mir wer vielleicht mir Beispielcode oder anschaulichen erklärungen weiterhelfen? Ich hoffe auf eure erfahrung

lg
Moritz
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Re: Programm das JPEG öffnet

Beitrag von RavenIV »

Moritz hat geschrieben: ... Ich wollte image.scanLine(0-255) (Bild ist 256*256 groß). Die Funktion erwartet einen const uchar*. wie bekomme ich die Bildinfos in ein array. ...

Code: Alles auswählen

const uchar * QImage::scanLine ( int i ) const
heisst nicht, dass ein const uchar * erwartet wird, sondern dass ein const uchar * zurückgegeben wird. Erwartet wird ein int i.

Da fehlen wohl ein paar C++-Grundlagen.

Ansonsten gibt es den Qt-Assistant oder die Qt-Webseite. Dort sind alle Funktionen von Qt beschrieben und es gibt auch viele Beispiele.
Linux, das längste Text-Adventure aller Zeiten
softwaremaker
Beiträge: 149
Registriert: 1. April 2009 19:25

Was

Beitrag von softwaremaker »

Was willst du denn mit dem Bild machen?
Willst du es in einem Fenster anzeigen, dann platziere ein QLabel und rufe QLabel::setPixmap( QImage( bild.jpg ) ) auf.
spatro
Beiträge: 46
Registriert: 18. Juni 2008 10:54

Beitrag von spatro »

Also erstmal zum Laden:
Du musst entweder \\ oder / schreiben, ein einfacher \ funktioniert nicht.

Wenn das Bild geladen ist kannst du mit Image::pixel(inx, int y) auf die einzelnen Pixel zugreifen und erhältst jeweils eine QRgb Farbwert. Dann kannst du z.B. mit qBlue(QRgb) die einzlnen Farben auslesen.

Wahrscheinlich gibt es noch eine bessere Möglichkeit, aber so funktioniert es auf jeden Fall.
Antworten