将透明图像放在非透明图像上

时间:2013-01-08 14:23:08

标签: php

我将上传的图片($ image)裁剪为固定尺寸。

$new = imagecreatetruecolor($width, $height);
imagealphablending($new, false);
imagesavealpha($new, true);
imagecopyresampled($new, $image, 0, 0, $x, $y, $width, $height, $width, $height);

我读到imagealphablending和imagesavealpha应该这样设置。 $ image不透明。

$cover = imagecreatefrompng('../img/magazine2.png');
imagealphablending($cover, false);
imagesavealpha($cover, true);

图像应该放在顶部,我读到它应该有这些设置。 $ new和$ cover现在的大小完全相同。

然后我将$ cover复制到$ new,这应该显示,因为$ cover是透明的

imagecopy($new, $cover, 0, 0, 0, 0, $width, $height);

但它没有透明度而被置于$ new,缺少什么?

1 个答案:

答案 0 :(得分:0)

唯一必须做的就是:

imagealphablending($new, true);

没有

imagealphablending($new, false);
imagesavealpha($new, true);

imagealphablending($cover, false);
imagesavealpha($cover, true);