растяжение — PHP imagecopymerge () — растягивается одно изображение

Я пытаюсь добавить 50px белое поле по правой стороне изображения, создав пустое изображение, которое на 50px шире исходного изображения, а затем объединить исходное изображение с ним. Проблема в том, что исходное изображение просто растягивается в стороны, поэтому оно на 50 пикселей шире!
Может быть, я использую неправильную функцию для объединения изображений …
вот мой код

    $destImage = $filepath;
#echo "dest image = ".$destImage;
$sourceImage = imagecreatefrompng($filepath);
// dimensions
$src_wide = imagesx($sourceImage);
echo "src_wide=".$src_wide;
$src_high = imagesy($sourceImage);
// new image dimensions with right padding
$dst_wide = $src_wide+50;
echo "dst_wide=".$dst_wide;
$dst_high = $src_high;
// New resource image at new size
$dst = imagecreatetruecolor($dst_wide, $dst_high);
// set white padding color
$clear = array('red'=>255,'green'=>255,'blue'=>255);
// fill the image with the white padding color
$clear = imagecolorallocate( $dst, $clear["red"], $clear["green"], $clear["blue"]);
imagefill($dst, 0, 0, $clear);
// copy the original image on top of the new one
imagecopymerge($dst,$sourceImage,0,0,0,0,$src_wide,$src_high, 100);
imagepng($dst,$destImage,6);
imagedestroy($dst);
chmod($destImage,0775);

что я тут не так делаю ??
Спасибо

0

Решение

Он растягивается, потому что вы копируете его на всю ширину целевого изображения. Вместо этого используйте

imagecopyresampled($dst,$sourceImage,50,0,0,0,$src_wide,$src_high,$src_wide,$src_high);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]