Vielen Dank René für den Tipp.
Ich habe mir aus deinem Modul ein Zweizeiler gefunden, der mir in meiem Bildermodul, was es hier irgendwo gibt, jetzt die PNG-Grafiken mit dem gewünschten weißen Hintergrund in der Vorschau generiert.
Das ist er:
Code: Alles auswählen
$oColor = imagecolorallocate($nImage, hexdec(substr($sColor, 0, 2)), hexdec(substr($sColor, 2, 2)), hexdec(substr($sColor, 4, 2)));
imagefill($nImage, 0, 0, $oColor);
Und in dem Bildemodul hatte ich dann das eingesetzt, was zum Erfolg führte - Vielen Dank:
Code: Alles auswählen
$gdColor = imagecolorallocate($dst_im, 255, 255, 255); // weiße Farbe bestimmen
imagefill($dst_im, 0, 0, $gdColor);
Das könnte man doch jetzt eigentlich überall anwenden wo Bilder skaliert werden, oder?! Oder kann man das auch gleich in der functions.api.images.php eininden, dass generell verkleinerte PNGs einen weißen Hintergrund bekommen und keinen schwarzen?
Die Schwierigkeit ist nämlich, dass man als PHP-Laie bei den tollen diversen Modulen wo Vorschaubilder generiert werden, schwer durchsieht, da der Code dafür ja oft anders ist. Z.B. würde ich gerne auch meine Artikelliste oder Bildergalerie dazu bringen PNG-Vorschaubilder mit weißem HG zuhaben, aber das klappt leider nicht nach dem oben beschrieben Schema, da hier immer Fehlermeldungen kommen, wie
Warning: imagecreatetruecolor() expects exactly 2 parameters, 3 given in contenido\includes\include.con_editcontent.php(647) : eval()'d code on line 724 oder imagefill() expects parameter 1 to be resource, null given in contenido\includes\include.con_editcontent.php(647) : eval()'d code on line 726
Wollte in diesem Code:
Code: Alles auswählen
foreach( $aImagesToDisplay as $sImageToDisplay ) {
# Do Scaling
$sScaledImage = cApiImgScale($sImageToDisplay, $iWidth, $iHeight);
if( !empty($useTrail) ) {
$trail = cApiImgScale($sImageToDisplay, $iTrailWidth, $iTrailHeight);
$trailCode = "$trail";
}
$detail = cApiImgScale($sImageToDisplay, $iDetailWidth, $iDetailHeight);
das mit rein nehemn:
Code: Alles auswählen
$gdColor = imagecolorallocate($sScaledImage, 255, 255, 255); // weiße Farbe bestimmen
imagefill($sScaledImage, 0, 0, $gdColor);
Aber wie gesagt, leider ohne Erfolg. Oder fehlt da noch was wie imagecopyresampled
MfG Steffen