GIF görüntüler 256 renk maksimum içerebilir sabit bir palet var. Burada sorun, resim yerleştirme Hedef görüntüde mevcut değildir renkleri kullandığı muhtemelen.
Ben bu denedim hiç, ama denemeye değer olabilir. Sen filigran yapmak, sonra ilk gerçek renk görüntüye gif görüntü dönüştürme denemek ve bundan sonra gif geri dönüştürerek olabilir.
$image = imagecreatefromgif($source_file);
// create a true color image of the same size
$image2 = imagecreatetruecolor(imagesx($image), imagesy($image));
// copy the original gif image on to the true color image
imagecopy($image2, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));
// copy the watermark onto the new true color image
imagecopymerge($image2, $watermark, $x, $y, 0, 0, $water_width, $water_height, 65);
// write the new image to disk
imagegif($image2, $source_file);
Deneyin ve bir fark yaparsa bakın.
Yardımcı olabilecek mevcut palet manipülasyon işlevlerinin bir çift de var:
- imagecolormatch()
- imagetruecolortopalette()
- imagepalettecopy()
Ben bunları uygulamak nasıl emin değilim, ama sonuçlarını geliştirmek için yapabileceği birkaç şey var olduğunu tahmin ediyorum.