gpt4 book ai didi

php - 调整图像大小并用颜色填充比例间隙

转载 作者:行者123 更新时间:2023-12-02 07:52:12 24 4
gpt4 key购买 nike

我正在将 Logo 上传到我的系统,它们需要固定在 60x60 像素的框中。我有所有代码来按比例调整它的大小,这不是问题。

我的 454x292px 图片变成了 60x38。问题是,我需要图片为 60x60,这意味着我想在顶部和底部分别填充白色(我可以用颜色填充矩形)。

理论是我创建一个白色矩形,60x60,然后我复制图像并将其调整为 60x38 并将其放在我的白色矩形中,从顶部开始 11px(这加起来就是我需要的总填充 22px .

我会发布我的代码,但它很长,但如果需要我可以发布。

有谁知道如何做到这一点,或者您能指点我执行此操作的代码/教程吗?

最佳答案

与 GD:

$newWidth = 60;
$newHeight = 60;
$img = getimagesize($filename);
$width = $img[0];
$height = $img[1];
$old = imagecreatefromjpeg($filename); // change according to your source type
$new = imagecreatetruecolor($newWidth, $newHeight)
$white = imagecolorallocate($new, 255, 255, 255);
imagefill($new, 0, 0, $white);

if (($width / $height) >= ($newWidth / $newHeight)) {
// by width
$nw = $newWidth;
$nh = $height * ($newWidth / $width);
$nx = 0;
$ny = round(fabs($newHeight - $nh) / 2);
} else {
// by height
$nw = $width * ($newHeight / $height);
$nh = $newHeight;
$nx = round(fabs($newWidth - $nw) / 2);
$ny = 0;
}

imagecopyresized($new, $old, $nx, $ny, 0, 0, $nw, $nh, $width, $height);
// do something with new: like imagepng($new, ...);
imagedestroy($new);
imagedestroy($old);

关于php - 调整图像大小并用颜色填充比例间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3050952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com