Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: FIX für ImageManipulator mit transparenten PNGs & GIFs

    eskay

    • Neu im Forum
    • Beiträge: 9
    Bei den Gifs mit Transparenz hat das Original einen Fehler - wenn du hier
    die ergänzte Version nimmst funktionieren auch die einwandfrei.

    Der Transparente Hintergrund bei manchen GIFs ist schwarz anstatt transparent.

    Code: PHP  [Auswählen]
    /*****************************************************************************************
    Transparency Patch v0.1

    - support for transparency added
    - enhanced PNG & GIF processing

    (C) 2006 Noxware, B. W. Masanek, E-Mail: xtcommerce [AT] noxware * de
    ****************************************************************************************/

    Das kannst du ggf. noch in die nächste Version mit rein packen.

    Wenn du willst sende ich dir die image_manipulator_GD2.php gerne zu.

    Dann gibt's auch bei Image Variante A schon keine Timeout Fehler mehr.

    Einfach die Datei image_manipulator_GD2.php im \admin\includes\classes\
    ersetzen.

    Gruss

    [EDIT Tomcraft 07.01.2011: Hier gibt es den Fix.]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=4595.0
    Managed Server

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #1 am: 17. März 2010, 16:49:31
    Hänge die Datei doch bitte einfach hier im Forum an. ;-)

    Grüße

    Torsten

    eskay

    • Neu im Forum
    • Beiträge: 9
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #2 am: 22. April 2010, 11:54:42
    So,
    nun nochmal die Datei als Zip.

    Nun sollte es funktionieren

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #3 am: 22. April 2010, 12:24:32
    :thx:

    Das schaue ich mir doch gleich mal an. ;-)

    Grüße

    Torsten

    ShadowSAW

    • Frisch an Board
    • Beiträge: 95
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #4 am: 22. Juli 2010, 08:23:52
    Hallo, kann es sein das der Fix in der aktuellen modified eCommerce Shopsoftware Version 1.05 noch nicht integriert ist?

    Habe bei PNG-Dateien immer einen schwarzen Hintergrund.

    Ich werde den Fix gleich mal ausprobieren, ob der Bug dann weg ist.

    ShadowSAW

    • Frisch an Board
    • Beiträge: 95
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #5 am: 22. Juli 2010, 08:33:48
    Der Fix scheint nicht zu funktionieren bekomme in modified eCommerce Shopsoftware folgende Fehlermeldung:

    Code: PHP  [Auswählen]
    Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in G:\xampplite\htdocs\modified eCommerce Shopsoftware-1.05\inc\xtc_db_connect.inc.php on line 24
    Unable to connect to database server!

    Muss ich die Verlinkung zur Datenbank ändern, da ich die USB-Version von modified eCommerce Shopsoftware habe?

    Thomas

    • Fördermitglied
    • Beiträge: 8
    • Geschlecht:
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #6 am: 21. August 2010, 08:37:31
    Bei mir gehts. Mit obigem Transparency Patch v0.1 sind meine PNGs wieder transparent.

    Gruß,
    Thomas

    certis

    • Frisch an Board
    • Beiträge: 63
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #7 am: 06. Dezember 2010, 19:32:22
    Funktioniert bei mir bis jetzt einwandfrei, danke! :thumbs:

    Chico

    • Neu im Forum
    • Beiträge: 1
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #8 am: 12. November 2015, 14:57:46
    Hallo,
    bei mir hatten png-Dateien beim Artikelbild aufspielen auch schwarze Hintergründe (Firefox). Das o.g. Fix hatte ich aufgespielt, es half jedoch nicht; der Hintergrund war weiterhin schwarz statt transparent.
    Mit einem Rechtsklick hatte ich mir die Image-Info angeschaut und festgestellt, dass als Typ Jpeg eingetragen war (die Datei-Endung war allerdings .png).

    Letztendlich hat bei mir folgendes geholfen:
    - in der Datei \admin\includes\classes\image_manipulator_GD2.php (die aus dem zip) habe ich in Zeile 274 die Reihenfolge von imagecreatefromjpg und imagecreatefrompng getauscht:

    Code: PHP  [Auswählen]
    $this->mm = ($this->md[2] < 4) ? ($this->md[2] < 3) ? ($this->md[2] < 2) ? imagecreatefromgif($this->mi) : imagecreatefrompng($this->mi) : imagecreatefromjpg($this->mi) : Null;

    Bei mir hat es geholfen. Das Bild hat jetzt als Typ png.
    (Falls ich bei dem Post jetzt irgendwas Falsches oder Dummes gemacht/geschrieben habe, bitte ich als Neuling im Forum um Nachsicht)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #9 am: 13. November 2015, 18:40:13
    Kannst du das bitte nochmal bei uns im Demoshop 1.06 testen? Obwohl dort die Datei inhaltlich identisch zu der hier im Thema angehängten Version ist, konnte ich dein Problem mit einem transparenten PNG nicht nachvollziehen.

    Dennoch habe ich dafür mal Ticket #705 erstellt.

    Grüße

    Torsten

    karsta.de

    • Experte
    • Beiträge: 3.159
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #10 am: 13. November 2015, 20:21:13
    Hatte gestern die oben von eskay angehängte Datei in der 1.06 Version getestet und kann den Fehler von Chico nicht bestätigen. Die Datei funktioniert so wie sie soll.

    Das Einzige ist, da die Datei schon etwas in die Jahre gekommen ist, fehlt ein wichtiger Teil der damals noch nicht integriert war.

    Code: PHP  [Auswählen]
            //BOF -web28- 2011-03-27 - OPTION DO NOT ENLARGE SMALL PICTURES
            //if(PRODUCT_IMAGE_NO_ENLARGE_UNDER_DEFAULT == 'false'){
              if($this->i < $this->m) {$this->m = $this->i;}
              if($this->j < $this->n) {$this->n = $this->j;}
            //}
            //EOF  -web28- 2011-03-27 - OPTION DO NOT ENLARGE SMALL PICTURES

    Hier mal die Datei mit der Option von web28 (Bilder, die kleiner sind als die Bildeinstellungen im Admin, werden so nicht aufgeblasen).

    web28

    • modified Team
    • Beiträge: 9.404
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #11 am: 15. November 2015, 18:06:47
    Ab 1.06 gibt es für transparente png diese Klasse

    image_manipulator_GD2_advanced.php

    Das ist auch im Backend bei den Bildereinstellungen auswählbar.

    Deshalb verstehe ich nicht warum hier von image_manipulator_GD2.php gesprochen wird. :-?

    Gruss Web28

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #12 am: 16. November 2015, 13:52:13
    Das Thema ist von 2010 und hier hängt für ältere Shopversionen der Fix für transparente PNGs an. ;-)

    Mir ist dabei dann nur aufgefallen, dass der Inhalt der "/includes/classes/image_manipulator_GD2.php" aus dem Fix-Paket identisch ist mit dem aus Datei /includes/classes/image_manipulator_GD2_advanced.php" der Shopversion 1.06 rev 4642 SP2 und daher hat mich der folgende Kommentar etwas stutzig gemacht:

    Hallo,
    bei mir hatten png-Dateien beim Artikelbild aufspielen auch schwarze Hintergründe (Firefox). Das o.g. Fix hatte ich aufgespielt, es half jedoch nicht; der Hintergrund war weiterhin schwarz statt transparent.
    Mit einem Rechtsklick hatte ich mir die Image-Info angeschaut und festgestellt, dass als Typ Jpeg eingetragen war (die Datei-Endung war allerdings .png).

    Letztendlich hat bei mir folgendes geholfen:
    - in der Datei \admin\includes\classes\image_manipulator_GD2.php (die aus dem zip) habe ich in Zeile 274 die Reihenfolge von imagecreatefromjpg und imagecreatefrompng getauscht:

    Code: PHP  [Auswählen]
    $this->mm = ($this->md[2] < 4) ? ($this->md[2] < 3) ? ($this->md[2] < 2) ? imagecreatefromgif($this->mi) : imagecreatefrompng($this->mi) : imagecreatefromjpg($this->mi) : Null;

    Bei mir hat es geholfen. Das Bild hat jetzt als Typ png.
    (Falls ich bei dem Post jetzt irgendwas Falsches oder Dummes gemacht/geschrieben habe, bitte ich als Neuling im Forum um Nachsicht)

    Grüße

    Torsten

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #13 am: 16. November 2015, 16:25:20
    Was in die Datei mal meiner Meinung nach mal rein sollte ist das hier: (Jpeg progressive)

    Code: PHP  [Auswählen]
    imageinterlace($this->t,true);

    direkt vor dem hier einfügen:

    Code: PHP  [Auswählen]
                  imagejpeg($this->t, $this->d, $this->e);
              }
              ob_end_clean();
              //EOF - DokuMan - 2010-01-06 - support jpg, gif and png

    Wenn man das jetzt noch im Backend ein und ausschaltbar machen würde, wäre das echt nützlich.

    Ich speichere schon seit Jahren jedes jpg für Web immer als progressiv damit man bei einer langsamen Verbindung zumindest schon mal sieht, dass hier ein Bild entsteht ....

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.373
    • Geschlecht:
    Re: FIX für ImageManipulator mit transparenten PNGs & GIFs
    Antwort #14 am: 23. März 2016, 15:12:41
    Was in die Datei mal meiner Meinung nach mal rein sollte ist das hier: (Jpeg progressive)

    Code: PHP  [Auswählen]
    imageinterlace($this->t,true);

    direkt vor dem hier einfügen:

    Code: PHP  [Auswählen]
                  imagejpeg($this->t, $this->d, $this->e);
              }
              ob_end_clean();
              //EOF - DokuMan - 2010-01-06 - support jpg, gif and png

    Wenn man das jetzt noch im Backend ein und ausschaltbar machen würde, wäre das echt nützlich.

    Ich speichere schon seit Jahren jedes jpg für Web immer als progressiv damit man bei einer langsamen Verbindung zumindest schon mal sieht, dass hier ein Bild entsteht ....

    Wir haben das nun in r9622 ins SVN eingefügt. Einen zusätzlichen Schalter dafür halte ich für überflüssig.

    Hallo,
    bei mir hatten png-Dateien beim Artikelbild aufspielen auch schwarze Hintergründe (Firefox). Das o.g. Fix hatte ich aufgespielt, es half jedoch nicht; der Hintergrund war weiterhin schwarz statt transparent.
    Mit einem Rechtsklick hatte ich mir die Image-Info angeschaut und festgestellt, dass als Typ Jpeg eingetragen war (die Datei-Endung war allerdings .png).

    Letztendlich hat bei mir folgendes geholfen:
    - in der Datei \admin\includes\classes\image_manipulator_GD2.php (die aus dem zip) habe ich in Zeile 274 die Reihenfolge von imagecreatefromjpg und imagecreatefrompng getauscht:

    Code: PHP  [Auswählen]
    $this->mm = ($this->md[2] < 4) ? ($this->md[2] < 3) ? ($this->md[2] < 2) ? imagecreatefromgif($this->mi) : imagecreatefrompng($this->mi) : imagecreatefromjpg($this->mi) : Null;

    Bei mir hat es geholfen. Das Bild hat jetzt als Typ png.
    (Falls ich bei dem Post jetzt irgendwas Falsches oder Dummes gemacht/geschrieben habe, bitte ich als Neuling im Forum um Nachsicht)

    Der Fix ist nicht korrekt! Es scheint so, dass du ein Bild vom Typ "jpeg" mit der Dateiendung ".png" hoch geladen hast. Dateiendung und Typ müssen bei einem Bild schon identisch sein.

    Bilder vom Typ "jpeg" können keine Transparenz!

    Was dein Fix macht ist, dass du jedes Bild vom Typ "jpeg" wie ein "png" behandelst und darauf Transparenz anwendest.

    Grüße

    Torsten
    Shop Hosting
    1 Antworten
    2350 Aufrufe
    18. November 2013, 16:51:02 von web28
    10 Antworten
    14438 Aufrufe
    11. Februar 2012, 19:33:47 von h-h-h