Проблема слияния копий изображений - PullRequest
0 голосов
/ 09 июля 2020
$image_1 = imagecreatefrompng('GreenAppleMerge80.png');
$image_2 = $image_1;
imagealphablending($image_1, true);
imagesavealpha($image_1, true);
imagecopy($image_1, $image_2, 40, 0, 0, 0, 100, 100);
imagepng($image_1, 'final.png');

Приведенный выше код написан для объединения двух GreenAppleMerge80.png в final.png

Green.png

final.png

Однако меня не устраивает final.png, и я хочу, чтобы правое яблоко было видно полностью и 50% левого яблока, где правое яблоко будет на 50% поверх левого яблока.

Пожалуйста, предложите.

1 Ответ

0 голосов
/ 09 июля 2020

Сначала вам нужен ресурс GD, который может содержать оба яблока.

$imgBig = imagecreate(120 , 80);

Вы получаете PNG точно так, как показано. Изображение_2 не нужно. Это тот же ресурс.

$image_1 = imagecreatefrompng('GreenAppleMerge80.png');
imagealphablending($image_1, true);
imagesavealpha($image_1, true);

Затем вы копируете правую половину яблока в большую картинку.

imagecopy($imgBig, $image_1, 80, 0, 40, 0, 40, 80);

Затем вы создаете вторую картинку и копируете ее в " imgBig ".

imagecopy($image_1, $image_1, 40, 0, 0, 0, 80, 80);

imagecopy($imgBig, $image_1, 0, 0, 0, 0, 80, 80);

imagepng($imgBig, 'final.png');

Решение не особо красивое. Но у меня работает с твоей картинкой яблока.

...