[gelöst] QImage - Konvertierung immer möglich?

Alles rund um die Programmierung mit Qt
Antworten
gelignite
Beiträge: 37
Registriert: 6. Dezember 2007 21:23
Kontaktdaten:

[gelöst] QImage - Konvertierung immer möglich?

Beitrag von gelignite »

Hallo,

ich habe zwei Fragen, aber so viel Platz war nicht im Topic.

1.
Laut Doku ist die Rückgabe der Methode QImage::convertToFormat() vom Typ QImage. Ich lese nichts davon, dass diese Funktion ggf. 0 oder false (oder weiß der Kuckuck was) zurückliefert, wenn bei der Konvertierung etwas schief gehen sollte. Daher nehme ich an, dass die Konvertierung immer funktioniert und es immer ein QImage zurück gibt. Liege ich damit richtig?

2.
Ich kenne mich - was Bildformate betrifft - nicht sonderlich gut aus. Meine Anwendung soll die drei folgenden Bildformate unterstützen und alle anderen Formate entsprechend konvertieren. Unterstützt werden sollen:
- QImage::Format_Indexed8
- QImage::Format_RGB32
- QImage::Format_ARGB32

Andere Formate sollen konvertiert werden (oder abgewiesen, falls (siehe 1.) die Konvertierung fehlschlägt). Nun frage ich mich, nach welchen Kriterien ich entscheiden soll, in welches Zielformat ein Bild, welches nicht den unterstützten Formaten entspricht, umgewandelt wird. Kann man die 15 in der Doku aufgeführten Formate grundsätzlich immer in die von mir bevorzugten Formate konvertieren?

Gruß,
gelignite
Zuletzt geändert von gelignite am 3. September 2008 20:31, insgesamt 1-mal geändert.
{brigens ist ein Kezboard/Treiber v;llig [berfl[ssig!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Zu erstens - wenn die Konvertierung fehlschlägt kommt ein leeres QImage zurück
Und zweitens - warum sollte man es nicht konvertieren können?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
gelignite
Beiträge: 37
Registriert: 6. Dezember 2007 21:23
Kontaktdaten:

Beitrag von gelignite »

Hallo,
Christian81 hat geschrieben:Und zweitens - warum sollte man es nicht konvertieren können?
Das wäre eben meine Frage gewesen: Gibt es etwas, das gegen eine Konvertierung von Format A nach Format B gibt? Wie erwähnt, sind Bildformate (insbesondere deren Aufbau und Eigenschaften) nicht mein Fachgebiet. Aufgrund deiner Antwort nehme ich an, dass nichts dagegen spricht. Dann wäre das ja geklärt.

Vielen Dank. Gruß,
gelignite
{brigens ist ein Kezboard/Treiber v;llig [berfl[ssig!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Naja - im Grunde spricht nichts dagegen. Ein Qualitätsverlust wird es aber wohl immer geben.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
gelignite
Beiträge: 37
Registriert: 6. Dezember 2007 21:23
Kontaktdaten:

Beitrag von gelignite »

Keine Frage, wenn man versucht 32 bit in 8 zu stecken.

Das eigentliche Problem ist, dass es scheinbar keine von Haus aus gelieferte Methode zur Erstellung von Graustufenbildern gibt. Daher habe ich mir über die Suche (hier im Forum und via anderer bekannter Suchmaschinen) Informationen und Wege beschafft und daraus eine Funktion erstellt. Diese hatte nur zunächst nicht so funktioniert wie gedacht, weshalb ich auf die Konvertierung geschlossen hatte. Der Fehler lag aber an anderer Stelle, wie mir eben aufgefallen ist. Klappt jetzt jedenfalls.

Da die Anwendung nur für Grundlagenfunktionen der Bildverarbeitung (Threshold, Kantendetektion und dergleichen) benötigt wird, stellen diese Qualitätsverluste kein großartiges Problem dar. Vor allem dann nicht, wenn eh nur noch schwarze und weiße Pixel übrig sind.

Gruß,
gelignite
{brigens ist ein Kezboard/Treiber v;llig [berfl[ssig!
Antworten