ciao a tutti...
ho trovato e adattato a mio piacere una funzione per creare le miniature delle immagini... e ho un problema a settare lo sfondo bianco.
la parte in grassetto è la parte incriminata...codice:function image_createThumb($src, $dest, $maxWidth, $maxHeight, $quality=100) { //var_dump(gd_info()); if(file_exists($src) && isset($dest)) { // prendo le info dell'immagine list($imgW, $imgH, $imgT) = getImageSize($src); // se le dimensioni dell'immagine non superano i limiti la copio if($imgW <= $maxWidth && $imgH <= $maxHeight) { @copy($src, $dest); } else { // stabilisco le dimensioni della nuova immagine $srcRatio = $imgW / $imgH; $destRatio = $maxWidth / $maxHeight; if($destRatio > $srcRatio) { $destH = $maxHeight; $destW = $maxHeight * $srcRatio; } else { $destW = $maxWidth; $destH = $maxWidth / $srcRatio; } // creo una nuova immagine e do l'antialiasing $destImage = imageCreateTrueColor($destW, $destH); @imageAntiAlias($destImage, true); // le info della destinazione $destInfo = pathInfo($dest); if ($destInfo["extension"] == "gif") { $bg = imagecolorallocate($destImage, 255, 255, 255); //$dest = substr_replace($dest, 'jpg', -3); } switch ($imgT) { case 1: //GIF $srcImage = imageCreateFromGif($src); break; case 2: //JPEG $srcImage = imageCreateFromJpeg($src); break; case 3: //PNG $srcImage = imageCreateFromPng($src); break; default: return false; break; } imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0, $destW, $destH, $imgW, $imgH); // generating image switch ($imgT) { case 1: case 2: imageJpeg($destImage,$dest,$quality); break; case 3: imagePng($destImage,$dest); break; } //system("$convert -quality 80 -antialias -sample $new_width" . "x" . "$new_height -bordercolor black -border $border \"$source\" \"$dest\" 2>&1"); return true; } } else { return false; } }
praticamente voglio rimpicciolire una gif che supera maxWidth e maxHeight, e anche se non sarà animata e che lo sfondo trasparente non sarà + trasparente, vorrei che lo sfondo diventasse bianco... e invece di default è nero...
come devo modificare la funzione per fare in modo che lo sfondo sia bianco?
grazie infinite
![]()

Rispondi quotando
