我有一个简单的脚本,可以在图像中添加图像。这是代码:
<?php
$im = imagecreatetruecolor(650, 400);
$stamp = imagecreatefrompng('test.png');
$red = imagecolorallocate($im, 209, 231, 244);
imagefill($im, 0, 0, $red);
$marge_right = 10;
$marge_bottom = 133;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im)
- $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
现在,这将从大图像的右侧放置测试图像10x,从图像底部放置133px。如何根据图像的高度将图像垂直居中
谢谢
答案 0 :(得分:2)
$marge_right
和$marge_bottom
应对应源图像和目标图像之间水平和垂直尺寸的差异。
所以你需要以这种方式计算差异:
$marge_right = abs($dest_sx-$src_sx);
$marge_bottom = abs($dest_sy-$src_sy);
abs
是可选的,如果您确定源小于目标的来源。
答案 1 :(得分:-1)
有一个叫做5年级数学的强大工具......
因为你有自己的身高
imagecreatetruecolor(650, 400);
以及$ sx和$ sy中放置图像的高度和宽度,归结为简单偏移计算以传递给$ marge_right和$ marge_bottom