如何在PHP中从画布中删除黑色背景?

时间:2019-04-05 13:22:43

标签: php gd

我正在使用PHP GD库在样机图像上创建图像,首先我拍摄了样机图像,并在中间创建了一个宽度为250,高度为300的画布,然后在该画布中插入一个图像,大图像进入时会很好地工作,因为它覆盖了所有画布空间,但是当小图像出现时(小于宽度210和高度280)小于画布大小时,就会出现问题,因为它小于画布的大小图像周围的黑色空间。而且我也不想减小画布尺寸,因为它是固定尺寸。我只希望这种黑色是透明的。 enter image description here

这是我的代码:

define("WIDTH", 600);
define("HEIGHT", 600);

$dest_image = imagecreatetruecolor(WIDTH, HEIGHT);

$trans_background = imagecolorallocate($dest_image, 255, 255, 255);

imagecolortransparent($dest_image, $trans_background);

imagefill($dest_image, 0, 0, $trans_background);

$design_image = 'captain.png';

$mockup_image = 't-shirt.png';

$a = imagecreatefrompng($design_image);

$b = imagecreatefrompng($mockup_image);


$pos_left = -19.75;

$pos_top = 37.075;

imagecopy($dest_image, $a, 168, 155, $pos_left, $pos_top, 250, 300);


imagecopy($dest_image, $b, 0, 0, 0, 0, WIDTH, HEIGHT);

imagepng($dest_image, 'final_image.jpg');

0 个答案:

没有答案