PHP GD - 调整图像框架/ Canvas 的大小而不是实际图像

标签 php image-processing gd

我有一张尺寸为 88x31 的图像,我想将其设为 100x100 而不调整实际图像的大小,而只调整其 Canvas /框架,可能是通过将其复制到 100x100 尺寸的新空白白色图像的中心。有什么想法吗?

最佳答案

正确的方法是创建一个新图像,然后将旧图像复制到它的中间(假设起始图像是 JPEG 且小于 100x100):

$oldimage = imagecreatefromjpeg($filename);
$oldw = imagesx($oldimage);
$oldh = imagesy($oldimage);

$newimage = imagecreatetruecolor(100, 100); // Creates a black image

// Fill it with white (optional)
$white = imagecolorallocate($newimage, 255, 255, 255);
imagefill($newimage, 0, 0, $white);

imagecopy($newimage, $oldimage, (100-$oldw)/2, (100-$oldh)/2, 0, 0, $oldw, $oldh);

关于PHP GD - 调整图像框架/ Canvas 的大小而不是实际图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8756408/

相关文章:

php - imagettftext 和阿拉伯语 : how can I write in RTL mode?

php - 生成随机的唯一序列

php - MySql - 如果没有记录,则插入多行

c# - 如何从图像中删除文本

php - 为什么 GD 在 imagedestroy() 时不释放内存?

php - 如何用php检测图像中的形状?

php - 使用 PHP 最小化 GET 请求

php - 在 mPDF 中定位

python - OpenCV - 部分图像匹配

flann knnmatch 中的 OpenCV 错误