Fixed: GD-Lib-Fehler in der Galerie (Wasserzeichen)
|
|
Abrafax75 |
Geschrieben am 28. August 2023 14:58:10
|
|
Hallo zusammen, ich bekomme in der Galerie immer folgenden Fehler: - imagecreatefrompng(): gd-png: libpng warning: iCCP: known incorrect sRGB profile" - infusions/gallery/photos.php - Zeile 129 - $copyright = ImageCreateFromPNG($cop); - PHP-Version 8.2 Ich verwende die V9.03.110, allerdings taucht dieser Fehler auch bei der V9.20.00 auf. Lösung: Das Wasserzeichen (.png) in den Optionen "für Web speichern" oder "sRGB einbinden". Das funktioniert z.B. mit PhotoShop. Der Fehler in der GD-Lib kann nur vermieden werden, wenn in der Quelldatei das Farbprofil eingebunden ist. Bearbeitet von Abrafax75 am 29. August 2023 14:17:03 |
Information: |
PHP Version: 8.2.x • MySQL Version: 8.0 • PHP-Fusion: v9 Stable |
|
|
Krelli |
Geschrieben am 30. August 2023 03:39:35
|
|
Der Fehler beim Verarbeiten von PNG und GIF Grafiken beruht auf einem bekannten Bug, der im GD-Modul von PHP 8.x enthalten ist. So ist es z.B. auch nicht mehr so einfach möglich, mittels GD-Funktionen transparente und animierte Grafiken zu verarbeiten. Transparente Bereiche werden dann mit der Index-Farbe aus dem Farbprofil gefüllt. Je nach Farbprofil der verwendeten Grafik ist diese festgelegte Indexfarbe immer wieder eine andere. Das bedeutet, das Transparenzen willkürlich gefüllt werden. Schwarz oder weiß mag da noch einigermaßen annehmbar sein, aber es ergeben sich auch oft völlig andere Farben: lila, grün, rot gelb, ... Das sieht natürlich als Füllfarbe für Hintergründe grottig aus. Die beste Lösung ist: sämtliche Verarbeitungen von Grafiken nicht mehr mittels GD-Funktionen, sondern ImageMagick durchzuführen. Es bietet qualitativ deutlich bessere Ergebnisse, unterstützt Transparenzen und animierte Grafiken. Insbesondere bei Größenänderungen von animierten GIFs erleichtert es die Arbeit enorm. Wofür man in GD zum Zerlegen in Einzelframes, danach Frames einzeln Verkleinern und am Ende alle Einzelbilder wieder zu animierter Grafik zusammenzufügen, aufwändigen umfangreichen Code erstellen musste (es gibt im Netz fertige PHP-Classes, die man einbinden konnte und die das erledigt haben, diese sind aber mit aktuellem PHP nicht mehr kompatibel) genügen mit Imagick ein paar Zeilen Code. Das Modul php-imagick sollte in nahezu allen vernünftigen Webhosting-Umgebungen mit aktuellen PHP-Versionen standardmäßig vorhanden sein. Imagick ist aber meines Wissens nur auf Linuxservern vorhanden. Wer auf Windows hostet hat das Nachsehen und muss weiter mit GD werkeln. Mittels Abfrage in PHP, ob das Modul php-imagick geladen ist, kann man Fehler abfangen und bei fehlender Unterstützung autom. auf GD als Notlösung zurückgreifen. |
Information: |
PHP Version: 8.2.x • MySQL Version: Nicht ausgewählt • PHP-Fusion: IPv9-DE-MOD |
|
|
Rolly8-HL |
Geschrieben am 30. August 2023 11:42:40
|
|
Zitat imagick imagick module enabled imagick module version 3.7.0 imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel Imagick compiled with ImageMagick version ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org Imagick using ImageMagick library version ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org ImageMagick copyright (C) 1999-2021 ImageMagick Studio LLC ImageMagick release date 2021-01-25 ImageMagick number of supported formats: 237 ImageMagick supported formats 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DNG, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMV, WPG, X, F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV Steht bei mir in der PHP Information Zitat Insbesondere bei Größenänderungen von animierten GIFs erleichtert es die Arbeit enorm. Wofür man in GD zum Zerlegen in Einzelframes, danach Frames einzeln Verkleinern und am Ende alle Einzelbilder wieder zu animierter Grafik zusammenzufügen, aufwändigen umfangreichen Code erstellen musste (es gibt im Netz fertige PHP-Classes, die man einbinden konnte und die das erledigt haben, diese sind aber mit aktuellem PHP nicht mehr kompatibel) genügen mit Imagick ein paar Zeilen Code. Mache das mit einem php-gif-resizer. Frage: Was muss ich machen wenn ich den Modul php-imagick dazu benutzen möchte. Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
Springe ins Forum: |