![]() |
AW: PNG in TImage falsch dargestellt
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
![]() Unterstützt dein PNGDelphi ohne meinen Algorithmus 4-Bit+Alpha und 1-Bit+Alpha? Ich hab mal zwei Beispiele angehängt. |
AW: PNG in TImage falsch dargestellt
Zitat:
Bei mir war nur der Rahmen um den Bwereich herum da, aber kein Inhalt. |
AW: PNG in TImage falsch dargestellt
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir sind da Bilder. Was für einen Browser benutzt du? Ich habe Firefox 75.
Hab es dir aber nochmal aus 7z angehängt. |
AW: PNG in TImage falsch dargestellt
Zitat:
Aber auch nur, wenn es korrekt geht :P. Was deine Bilder angeht, mein Delphi (bzw. mein pngimage) kann die problemlos darstellen. Ist wohl wirklich nur bei BitTransparency. |
AW: PNG in TImage falsch dargestellt
Liste der Anhänge anzeigen (Anzahl: 1)
Ich muss leider noch mal stören.
@Redeemer Dein Code hat ein Problem mit 2bit Palettenbildern. Beim drüberschauen ist mir jedoch kein Fehler aufgefallen. 8bit und 4bit geht dafür aber super :) Falls es hilfreich ist, in deinem Code scheinen tatsächlich keine Fehler zu sein, die Daten von der Source-Scanline sind falsch(?). Bei meinem Testbild in Zeile y=4 hat er für x2=1 den Scanline-Wert 50 (oder 0011 0010). Abgesehen davon, dass die damit korrespondierenden Pixel die Farbreihenfolge (nach Chroma) von 01 01 10 11 haben müssten (was in den Scanline-Daten gleich garnicht stehen kann, aufgrund der Transparenz von 00 und 01 aber nicht auffällt), scheint etwas an ebendiesem Punkt falsch zu laufen. |
AW: PNG in TImage falsch dargestellt
Klappt bei mir in Delphi 2009 ohne Probleme mit meiner Methode. Bitdepth ist zwar 4, was scheinbar falsch ist, die Daten liegen aber auch so im Speicher, als ob es 4 wäre (bei mir und bei dir!).
Was ist Bitdepth bei dir? Falls 2, was passiert, wenn du BitDepth (also die Variable in meiner Methode) direkt nach dem Setzen auf 4 setzt? |
AW: PNG in TImage falsch dargestellt
Also beim Auslesen des Headers bekomme ich: Indexed 2bit. Ironischerweise wird es ohne deinen Code korrekt dargestellt. Beim setzen auf 4bit funktioniert es auch korrekt. So langsam frage ich mich, was in der pngimage-Library eigentlich nicht fehlerhaft ist :D.
Was ist Dein Gedanke?
Delphi-Quellcode:
EDIT: Wenn man die png.Pixels Property nutzt, funktioniert es auch nicht. Es wird immer kurioser, fast, als hätte sich diese Lib nie wieder jemand angeschaut oder überprüft, dass sie auch das kann, was sie anbietet.
BitDepth := PNG.Header.BitDepth;
if BitDepth < 4 then BitDepth := 4; |
AW: PNG in TImage falsch dargestellt
Zitat:
Delphi-Quellcode:
Oder hast du Probleme mit simple3.png, dem gelb-pinken Bild aus meinem Anhang? Dein Code würde auch da das Verhalten ändern, denn das hat 1BPP.
BitDepth := PNG.Header.BitDepth;
if BitDepth = 2 then BitDepth := 4; |
AW: PNG in TImage falsch dargestellt
Ach ja. Geht jetzt. Trotzdem komisch das ganze...
Danke Dir nochmal. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz