Как убрать черный фон с холста в PHP? - PullRequest
1 голос
/ 05 апреля 2019

Я использую библиотеку 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');
...