PHP Как добавить рамку и изменить размер изображения, чтобы сделать его центром - PullRequest
0 голосов
/ 04 мая 2020

Привет, друзья! Я пытаюсь сделать изображение с рамкой. Ниже моего кода:

<?php
$src  = imagecreatefromjpeg('https://i.ibb.co/Q9Wj4MS/picture.png');//source image path
$frame = imagecreatefrompng('https://i.ibb.co/pbyHchR/frame.png');//source image path
$sourceWidth = imagesx($src) ; // source image width
$sourceHeight = imagesy($src) ; // image image height
$frameWidth = imagesx($frame);//get frame width
$frameHeight = imagesy($frame);//get frame height
$NewImage = imagecreatetruecolor($frameWidth,$frameHeight);//the new image
$bg_color = imagecolorallocate ($NewImage, 255, 255, 255);
imagefill($NewImage, 0, 0, $bg_color);//set background to white
if($sourceHeight >= $sourceWidth){
$newHeight=$frameHeight;// set height to frame height
$newWidth=intval($frameWidth*$sourceWidth/$sourceHeight);//calculate the new width  
imagecopyresampled($NewImage, $src, intval(($frameWidth-$newWidth)/2),0,0,0,$newWidth, $newHeight, $sourceWidth, $sourceHeight);//insert source image to new image at the center
} else {
$newWidth=$frameWidth;;// set width to frame width
$newHeight=intval($frameHeight*$sourceHeight/$sourceWidth);//calculate the new height 
imagecopyresampled($NewImage, $src,0,intval(($frameHeight-$newHeight)/2),0,0,$newWidth, $newHeight,$sourceWidth, $sourceHeight);//insert source image to new image at the center
}
imagecopyresampled($NewImage, $frame, 0,0, 0,0, $frameWidth, $frameHeight, $frameWidth, $frameHeight);//copy frame imageto new image 
header("Content-type: image/png");
imagejpeg($NewImage);
?>

Я получаю результаты:

image with frame

Как изменить размер и сделать его таким образом центрированным?

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...