PNG Problem beim laden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PNG Problem beim laden

    Hallo, im Anhang findet ihr 2 PNG-Bilder!

    Wenn ich mit diesem Code:
    PHP-Code:
    header('Content-Type: image/png'true);
    ImagePNG(ImageCreateFromPNG('test-ok.png')); // Geht!
    ImagePNG(ImageCreateFromPNG('test-err.png')); // Geht NICHT! 
    das PNG "test-ok.png" lade, bekomm ich das das Bild ausgegeben,
    wenn ich "test-err.png" lade, bekomm ich folgenden Fehler:
    <b>Warning</b>: imagecreatefrompng() [<a href='function.imagecreatefrompng'>function.imagecreatefrompng</a>]: gd-png: fatal libpng error: Read Error: truncated data in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
    <br />
    <b>Warning</b>: imagecreatefrompng() [<a href='function.imagecreatefrompng'>function.imagecreatefrompng</a>]: gd-png error: setjmp returns error condition in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
    <br />
    <b>Warning</b>: imagecreatefrompng() [<a href='function.imagecreatefrompng'>function.imagecreatefrompng</a>]: 'test-err.png' is not a valid PNG file in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
    <br />
    <b>Warning</b>: imagepng() expects parameter 1 to be resource, boolean given in <b>D:\Websites\!Tests\png.php</b> on line <b>113</b><br />
    Der Internet-Explorer hat auch ein Problem mit dem Anzeigen des "test-err.png" wobei "test-ok.png" geht!
    Komisch das normale Grafikprogramme wie IrvanView das kaputte ohne Probleme lese kann!

    Die beiden PNGs werden mit der gleichen Routine erstellt, aber irgendwas ist bei dem einen kaputt! Ich würde das Problem jetzt nicht auf PHP schieben, sonder mich würde interessieren was an dem einen PNG anders ist als bei dem Anderen!

    Kann mir jemand helfen?

    Danke

    PS. Das Problem seht ihr hier auch schon im Browser von php-resource. Das erste PNG bekommt eine Vorschau, das andere nicht!

    Edit: Bilder erstmal wieder raus!
    Zuletzt geändert von TriphunEM; 14.11.2009, 14:49.

  • #2
    Hallo,

    'test-err.png' is not a valid PNG file
    sagt eigentlich alles. Dass manche Programme da etwas großzügiger sind, kann man sich genauso vorstellen, wie Browser auch invalides HTML trotzdem irgendwie rendern. Den Unterschied zwischen den beiden Dateien kann man nicht so ohne weiteres ermitteln. Die offensichtlichen Dinge sind lustigerweise gleich:

    - Komprimierung: ZIP
    - Auflösung: gesetzt, 192 DPI
    - Farbtiefe: 24bit

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Die 2. lässt sich auch nicht mit Fireworks öffnen. Das bild scheint defekt zu sein, was man aber auch aus der Fehlermeldung herauslesen kann. Truncated Data. Da scheint also die Struktur des bildes nicht in Ordnung zu sein....
      Zuletzt geändert von AmicaNoctis; 14.11.2009, 23:57. Grund: Anhang auf Wunsch des TO entfernt

      Kommentar


      • #4
        Ja, das lustige ist aber, die Bilder werden mit ein und der selben Routine erstellt. Um herauszufinden wo der Fehler ist, müsste man genau ermitteln was anders ist!

        Gibt es keine Tools, die die Eigenschaften der Bilder genau anzeigt, oder analysieren?

        Ich muss halt irgendwie rausfinden, was beim generieren schief läuft! Kann dazu aber keine Code posten, da die Bilder nicht mit PHP erstellt werden und auch kein Zugriff auf den Code habe!

        Kommentar


        • #5
          Dann ist der Encoder (wo auch immer der herkommt) fehlerhaft. Selbst wenn du keinen Zugriff auf dessen Code hast, gibt es doch bestimmt jemanden, an den man sich da wenden kann? Ansonsten musst du einen anderen Encoder nehmen.

          Ist das eine eigenständige Handschriftenerkennungssoftware oder war die direkt beim Grafiktablett dabei? In letzterem Falle sollte der Hersteller Support leisten. (Nur geraten, worum es gehen könnte.)
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            PNG Problem beim Laden - php.de

            Kommentar


            • #7
              Danke Yoshi!

              @TriphunEM: Wer nicht mal ne halbe Stunde auf eine Antwort warten kann, hat auch keine verdient.

              Wenn du das nächste Mal vermeiden willst, das Forum zu verärgern, sag entweder dazu, dass es ein Crossposting ist (mit URL zum Original) oder warte mindestens einen Tag. Niemand opfert gerne seine Zeit für eine Antwort, nur um dann festzustellen, dass in einem anderen Forum grade dasselbe durchgekaut wird.
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #8
                Hi. Der Encoder ist von C++ und ist eine Bibliothek. Werd da wohl kein Einfluss drauf haben!

                Was stimmt nicht an Cross-Posting? ich hab leider nicht viel Zeit für das Problem und ich habe mich dazu entschieden als nach 15 Minuten nur 1 Hit auf dem Thread war. Sorry, dafür...

                Und Yoshi, danke, statts zu helfen, zu petzen!!!

                Kommentar


                • #9
                  lol
                  Außerdem auf php.de hab ich dir gesagt woran es zu 80% liegt, da wir nicht wissen wie du das Bild erstellst kann dir eh keiner mehr helfen.

                  Kommentar


                  • #10
                    Zitat von TriphunEM Beitrag anzeigen
                    Werd da wohl kein Einfluss drauf haben!
                    Das wissen wir nun ja schon, dass du keinen Einfluss drauf hast. Daher auch der Hinweis, dich an denjenigen mit Einfluss zu wenden oder was anderes zu benutzen.

                    Zitat von TriphunEM Beitrag anzeigen
                    Was stimmt nicht an Cross-Posting?
                    Hab ich bereits erwähnt!

                    Zitat von TriphunEM Beitrag anzeigen
                    Und Yoshi, danke, statts zu helfen, zu petzen!!!
                    Er hat nicht gepetzt, sondern nur den Fremdthread verlinkt, damit man sich einen Überblick verschaffen kann, was dort zu dem Thema schon steht, bevor man dasselbe nochmal schreibt. Yoshi hat nur das gemacht, was du von Anfang an hättest machen sollen.

                    Daher ist deine Anmache bezüglich "petzen" Fehl am Platz!

                    So, betrachten wir das Crossposting-Thema jetzt als abgehakt und für's nächste Mal weißt du Bescheid, ok?
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Kommentar


                    • #11
                      Ok! Das ist ein Bibliothek mit aktueller Version für C# .net-Framework. Und es gibt auch nur diese eine für diesen Fall! Kann man leider nix anderes nehmen!

                      Kommentar


                      • #12
                        Zitat von TriphunEM Beitrag anzeigen
                        Und es gibt auch nur diese eine für diesen Fall! Kann man leider nix anderes nehmen!
                        Für welchen Fall denn? Es gibt meistens mehrere Lösungen. Nicht, dass ich dir das nicht glauben will, aber mit genaueren Infos besteht wenigstens eine Chance, dass dir jemand helfen kann, ohne genauere Infos ist es unmöglich.
                        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                        Super, danke!
                        [/COLOR]

                        Kommentar


                        • #13
                          Zitat von TriphunEM Beitrag anzeigen
                          Ok! Das ist ein Bibliothek mit aktueller Version für C# .net-Framework. Und es gibt auch nur diese eine für diesen Fall! Kann man leider nix anderes nehmen!
                          Aber ganz sicher gibt es Alternativen: Die Suche nach "libpng c# ".net" bringt eine ganze Menge brauchbarer Links hervor. Es sollte also mindestens einen libpng-Wrapper für die .net-Umgebung geben.

                          Die libpng ist DIE Referenzimplementierung fürs Lesen und Schreiben von PNG-Grafiken. Sie wird auch von imagecreatefrompng() verwendet. Beide stammen ursprünglich vom selben Autor (Thomas Boutell [1][2]). Wenn diese Funktion einen Fehler meldet, kannst du sicher sein, dass die Software, mit der die Datei erzeugt wurde, fehlerhaft ist.

                          Eine andere Möglichkeit wäre, dass das zum Schreiben verwendete Tool seine Arbeit nicht beenden konnte (weil es vorzeitig abgebrochen wurde). Deine test-err.png scheint nicht vollständig zu sein. Pngcheck meldet ein vorzeitiges Dateiende:

                          Code:
                          pngcheck -v e:\test\test-err.png
                          
                          File: e:\test\test-err.png (1635 bytes)
                            chunk IHDR at offset 0x0000c, length 13
                              133 x 147 image, 24-bit RGB, non-interlaced
                            chunk sRGB at offset 0x00025, length 1
                              rendering intent = perceptual
                            chunk gAMA at offset 0x00032, length 4: 0.45455
                            chunk cHRM at offset 0x00042, length 32
                              White x = 0.3127 y = 0.329,  Red x = 0.64 y = 0.33
                              Green x = 0.3 y = 0.6,  Blue x = 0.15 y = 0.06
                            chunk pHYs at offset 0x0006e, length 9: 7559x7559 pixels/meter (192 dpi)
                            chunk IDAT at offset 0x00083, length 1486
                              zlib: deflated, 32K window, fast compression
                            chunk IEND at offset 0x0065d, length 0
                          :  EOF while reading CRC value
                          ERRORS DETECTED in e:\test\test-err.png
                          So wie es ausschaut, befindet sich das Problem möglicherweise hinter den Bilddaten. Deswegen zeigt Irfanview etwas an und unterlässt die Fehlermeldung. Das gleiche gilt für Webbrowser. Die versuchen eben etwas anzuzeigen, anstatt ihre (meist unbedarften) Benutzer mit kryptischen Fehlermeldungen zu verwirren. ImageCreateFromPNG() ist da pingeliger, weil die anderen libGD-Funktionen mit den eingelesenen Bilddaten weiterarbeiten müssen.
                          Zuletzt geändert von fireweasel; 14.11.2009, 20:02.
                          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                          Kommentar


                          • #14
                            Danke @fireweasel.

                            ich werde ab dort mal prüfen, ob da ein Fehler entsteht!

                            Danke!

                            Kommentar


                            • #15
                              @TriphunEM: Ich versteh' deine PM nicht. Was ist mit dem Bild oder was soll ich machen?

                              Zitat von PM von TriphunEM
                              Könntest du bitte das angehängte Bild (PNG Problem beim laden) von "DonManfred" es handelt sich halt um Unterschriften und die kann ich nicht dauernd online lassen. danke
                              Edit: inzwischen bin ich selbst drauf gekommen, dass das fehlende Wort "löschen" war. Demnächst trotzdem bitte ganze Sätze schreiben
                              Zuletzt geändert von AmicaNoctis; 15.11.2009, 00:00.
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Kommentar

                              Lädt...
                              X