Problem mit TImage und 32bit JPEG-Dateien



  • Hallo Leute,

    mir ist heute etwas beim TImage aufgefallen, wenn ich ein JPEG-Bild lade, das 32bit Farben hat. Dabei wird das Bild teilweise angezeigt und die Farben sind nur teilweise sichtbar und Streifen sind zu erkennen.

    Wenn ich jedoch das gleiche Bild als 24bit JPEG lade, dann ist alles i.O.

    Wie kommt das? Gibt es bestimmte Einstellungen, die man machen muss?

    Code brauche ich nicht zeigen, da ich testweise eine neue Form-Application erstellt habe und auf die Form ein TImage platziert habe. Über den Objektinspektor habe ich dann das Bild in das TImage geladen.

    Auch dynamisch, wenn das Programm läuft, wieder die gleichen Bildfehler. Woran liegt das? Ist das ein Bug im CPPB?

    (habe c++ Builder 2009)

    Gruß Hawk



  • Hawkxxx schrieb:

    Woran liegt das? Ist das ein Bug im CPPB?

    Vermutlich ist es ein Bug in einem Property-Editor. Das sollte aber unproblematisch sein; konvertiere das JPEG-Bild einfach zuvor nach BMP und öffne es dann im Property-Editor.

    Achja, und könntest du evtl. einen Bug-Report dazu schreiben, möglichst mit Beispielbild und -projekt? (Falls du nicht weißt wie: Tools|Quality Central, dann deine EDN-Anmeldedaten, mit denen du C++Builder registriert hast, eingeben, auf "+" drücken, alle Felder (auf Englisch!) ausfüllen, fertig. Attachments kannst du nach dem Speichern des Reports im entsprechenden Tab anhängen.)



  • So werde ich es machen.

    Ich habe auch mit LoadFromStream von TImage rumgespielt, aber keine Veränderung. Ich lade ein Bild per Stream, es wird falsch dargestellt, wenn ich jedoch es per Stream wieder speichere dann ist das Bild Ok wenn ich das Bild über Explorer öffne.
    D.h. dass nur die Anzeige des Bildes bei 32 bit nicht funktioniert, aber die Daten im TImage sind OK, diese werden nicht verändert.



  • Hawkxxx schrieb:

    Ich habe auch mit LoadFromStream von TImage rumgespielt, aber keine Veränderung. Ich lade ein Bild per Stream, es wird falsch dargestellt

    Aha - dann ist es wohl doch ein Bug in der VCL. Könntest du mal ein Beispielbild dazu zeigen? Ich werd's morgen mal testen.



  • Hier ein Screenshot:

    http://yfrog.com/jv32bitjpegj

    Gruß Hawk



  • Hallo,

    eine JPG-Grafik hat doch nur ein max. Pixelformat von jf24Bit ?



  • Naja, Photoshop sagt da was anderes 😉

    Ja, eigentlich ist es schon 24bit ein "standard" JPEG, aber vielleicht lässt sich ja da was machen ohne großen Aufwand wie konvertieren, das wollte ich nur wissen.

    ...und wenn Photoshop es kann, dann sollte TImage doch mitziehen..



  • Hawkxxx schrieb:

    Naja, Photoshop sagt da was anderes 😉

    Zitiere doch bitte mal.
    Schreibt PS denn, dass 32-bittige JPG's exportiert werden können? Wenns so ist, na gut.

    Beim TJPEGImage ist jedenfalls bei 24Bit Schluss (BCB2009); warum sollte dann das TImage mit 32-bittigen JPG-Grafiken
    umgehen können?


Anmelden zum Antworten