php - 创建两个图像资源并在第二个图像中居中第一个
php - Creating two image resources and center the first in the second image
我正在从 URL 创建图像资源并将其作为框架合并到另一个图像中,但它不会居中。
所以请告诉我如何将它居中
这是我的代码
switch (exif_imagetype ( $CompanyLogo )) {
case 1: // IMAGETYPE_GIF
$image = imagecreatefromgif($CompanyLogo);
break;
case '2': // IMAGETYPE_JPEG
$image = imagecreatefromjpeg($CompanyLogo);
break;
case 3: // IMAGETYPE_PNG
$image = imagecreatefrompng($CompanyLogo);
break;
case 6: // IMAGETYPE_BMP
break;
case 17: // IMAGETYPE_ICO
break;
}
list($width, $height) = getimagesize($CompanyLogo);
$Ratio = ($width / $height);
$rgb = imagecolorat($image, 0, 0);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$img = imagecreatetruecolor($frame_width, $frame_height);
$red = imagecolorallocate($img, 255, 0, 0);
imagefill($img, 0, 0, $red);
imagecopymerge($img, $image, 0, 0, ($frame_width / 2) - ($width / 2), ($frame_height / 2) - ($height / 2) , $width, $height, 100);
谢谢
我在错误的参数中传递了我第一张图片的 x 和 y
解决方案是:-
imagecopymerge($img, $image, ($frame_width / 2) - ($width / 2), ($frame_height / 2) - ($height / 2) , 0, 0 , $width, $height, 100);
而不是:-
imagecopymerge($img, $image, 0, 0, ($frame_width / 2) - ($width / 2), ($frame_height / 2) - ($height / 2) , $width, $height, 100);
再次感谢。
我正在从 URL 创建图像资源并将其作为框架合并到另一个图像中,但它不会居中。
所以请告诉我如何将它居中
这是我的代码
switch (exif_imagetype ( $CompanyLogo )) {
case 1: // IMAGETYPE_GIF
$image = imagecreatefromgif($CompanyLogo);
break;
case '2': // IMAGETYPE_JPEG
$image = imagecreatefromjpeg($CompanyLogo);
break;
case 3: // IMAGETYPE_PNG
$image = imagecreatefrompng($CompanyLogo);
break;
case 6: // IMAGETYPE_BMP
break;
case 17: // IMAGETYPE_ICO
break;
}
list($width, $height) = getimagesize($CompanyLogo);
$Ratio = ($width / $height);
$rgb = imagecolorat($image, 0, 0);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$img = imagecreatetruecolor($frame_width, $frame_height);
$red = imagecolorallocate($img, 255, 0, 0);
imagefill($img, 0, 0, $red);
imagecopymerge($img, $image, 0, 0, ($frame_width / 2) - ($width / 2), ($frame_height / 2) - ($height / 2) , $width, $height, 100);
谢谢
我在错误的参数中传递了我第一张图片的 x 和 y
解决方案是:-
imagecopymerge($img, $image, ($frame_width / 2) - ($width / 2), ($frame_height / 2) - ($height / 2) , 0, 0 , $width, $height, 100);
而不是:-
imagecopymerge($img, $image, 0, 0, ($frame_width / 2) - ($width / 2), ($frame_height / 2) - ($height / 2) , $width, $height, 100);
再次感谢。