PHP: imagepng () ve şeffaflık

4 Cevap php

Fonksiyonu imagepng () php kullanırken, nasıl ben kurtarmak görüntüleri şeffaf arka plan ile kaydedilir emin olabilirim?

4 Cevap

İşte imagecolortransparent fonksiyonu (eğer yardımcı olur) bir örnek:

<?php
// Create a 55x30 image
$im = imagecreatetruecolor(55, 30);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocate($im, 0, 0, 0);

// Make the background transparent
imagecolortransparent($im, $black);

// Draw a red rectangle
imagefilledrectangle($im, 4, 4, 50, 25, $red);

// Save the image
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>

from the PHP manual: http://php.net/manual/en/function.imagecolortransparent.php

Sadece bunu:

imagealphablending($img, false);
imagesavealpha($img, true);

Çıktısı önce. Tüm kaynak dosyaları (varsa kullanılan) şeffaflık PNG 32-bit için ayarlanmış olduğundan emin olun - çıkış uymayan siyah arka plan veya saydamlık ile farklı olabilir değilse.

Burada örnek

     $newimage = imagecreatetruecolor($dst_w, $dst_h);
     imagealphablending($newimage, false);
     imagesavealpha($newimage, true);
     $transparentindex = imagecolorallocatealpha($newimage, 255, 255, 255, 127);
     imagefill($newimage, 0, 0, $transparentindex);

Eğer renk şeffaf yapıldığı ayarlamanızı sağlar imagecolortransparent adında bir işlevi var. Bu sorunuza cevap eğer ben bilmiyorum.