Ben JPEG adlı saydam PNG en dönüştürürken ancak benim testleri sırasında ben bir garip davranışı bulundu, görüntüleri yeniden boyutlandırmak ve dönüştürmek için GD kullanıyorum. Manuel ImageAlphaBlending () varsayılan olarak ama ben ImageSaveAlpha () (sırayla ben imagealphablending ayarlamanızı gerektirir ki (true) ayarlamanız gerekir şeffaflığı korumak amacıyla açık göre false). Yani doğru yolu olmalıdır:
$result = ImageCreateFromPNG(...);
ImageAlphaBlending($result, false);
ImageSaveAlpha($result, true);
ImageFill($result, 0, 0, IMG_COLOR_TRANSPARENT);
ImageJPEG($result);
ImageDestroy($result);
Ben bunu "doğru" şekilde yaparsanız Ancak tüm saydamlık alan JPEG siyah gelir. Bu benim testleri (şeffaf alanlar üzerinde beyaz arka plan ile JPEG) iş gibi görünüyor:
$result = ImageCreateFromPNG(...);
ImageAlphaBlending($result, true); // true by default, but still...
ImageSaveAlpha($result, true);
ImageFill($result, 0, 0, IMG_COLOR_TRANSPARENT);
ImageJPEG($result);
ImageDestroy($result);
Birisi bu konuda beni aydınlatabilir misiniz?