İki PNG dosyasına sahibim "red.png" ve "blue.png"; ikisi de çoğunlukla saydamdır, ancak çeşitli yerlerde birkaç piksel kırmızı veya mavi lekeler vardır.PHP + GD: imagecopymerge PNG asetatlarını tutmuyor
İkisini birleştiren bir PHP betiği yapmak istiyorum; - kayıp şeffaflık ile bu komut dosyasını çalıştırdığınızda
$original = getPNG('red.png');
$overlay = getPNG('blue.png');
imagecopymerge($original, $overlay, 0,0, 0,0, imagesx($original), imagesy($original), 100);
header('Content-Type: image/png');
imagepng($original);
, elime mavi noktalar var, ne gibi bir şey kadar basit olmalıdır. (? Özgün ve bindirme hem)
imagealphablending($original, false);
imagesavealpha($original, true);
Ve bu herhangi yardımcı olmak için görünmüyor: Ben bu eklemek gerekir gördük.
$throwAway = imagecreatefrompng($filename);
imagealphablending($throwAway, false);
imagesavealpha($throwAway, true);
$dstImage = imagecreatetruecolor(imagesx($throwAway), imagesy($throwAway));
imagecopyresampled($dstImage, $throwAway,0,0,0,0, imagesx($throwAway), imagesy($throwAway), imagesx($throwAway), imagesy($throwAway));
, bir "gerçek renkli" imajına PNG dönüştürmek ve şeffaflığı muhafaza etmelidir:
Ben, php.net üzerinde ayarlamak için bir şeyler birkaç geçici çözümler gördük. Öyle görünüyor, ama şimdi tek gördüğüm siyah bir arka plan üzerinde mavi.Ne yapabilirim?
Tamamen çalıştı. Çok teşekkürler! Hala imagealphablending ve imagesavealpha kullanmak zorunda kaldım. –