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