Я создаю рекламу с изогнутой рамкой.
Вот пример объявления: http://imageshack.us/f/20/4e5f5fe94b327new60seciq.png/
Я пытаюсь повторить то, что будет сделано в Photoshop, поместите одно поверхдругой.Вот код, который я использую:
// create destination canvas
$dest_img = imagecreatetruecolor(176, 75);
// Make the background transparent
$black = imagecolorallocate($dest_img, 0, 0, 0);
imagecolortransparent($dest_img, $black);
imageAlphaBlending($dest_img, false);
imageSaveAlpha($dest_img, true);
// copy ad into destination
imagecopy($dest_img, $ad_image, 0, 0, 0, 0, 176, 75);
// copy frame onto first half of image
imagecopy($dest_img, $curve_image, 0, 0, 0, 0, 88, 75);
Что происходит, так это то, что последняя имеющаяся копия (фрейм) имеет приоритет и вместо того, чтобы видеть рекламу, я получаю прозрачный блок.Вот взорванное изображение того, что делает GD:
http://imageshack.us/f/684/unled1to.png/
Я надеюсь, что есть простое решение, чтобы нижний слой оставался видимым - если нет, то я думаю, что яПридется написать функцию и перейти попиксельно и сравнить ...
if (bottom_px == trans && top_px == trans) {
dest_px = trans;
}
else {
dest_px = top_px;
}