在 PHP 中调整 PHP GD 生成的图像的大小并显示它

Posted

技术标签:

【中文标题】在 PHP 中调整 PHP GD 生成的图像的大小并显示它【英文标题】:Resize a PHP GD-generated image in PHP and display it 【发布时间】:2013-03-09 22:48:33 【问题描述】:

我正在从头开始制作头像脚本,但遇到了一些问题。我获得了透明度工作,并为头部、身体、衬衫等提供了多图像支持。

无论如何,我希望能够在 php 脚本中生成特定大小的头像。这时候我就有了变量$baseImage,这是使用下面的GD脚本生成的图片:

$baseImage = imagecreatefrompng($startAsset);
imagealphablending($baseImage, true);
imagesavealpha($baseImage, true);

... combine all images into $base here

header("Content-type: image/png");
imagepng($baseImage);

此生成的图像尺寸为350x550 (pixels),我希望能够获得更小的尺寸。

我进行了研究,但找不到可行的解决方案。哪些内置的 PHP GD 函数可以调整它的大小、保持透明度并保持出色的质量/颜色?

【问题讨论】:

用更笨的说法,我想把 $baseImage 变成一个更小的精确副本。 【参考方案1】:

无法直接更改图像资源的大小。相反,您需要创建一个所需大小的新图像并使用imagecopyresampled 将全尺寸图像复制到调整大小的图像。

【讨论】:

使用此方法时,我似乎无法保持质量。见:vortaxia.com/avatar/admin.png

以上是关于在 PHP 中调整 PHP GD 生成的图像的大小并显示它的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP GD 调整图像大小并保存图像。这段代码有啥问题?

PHP GD - 调整图像框架/画布的大小,但不是实际图像

使用 PHP GD lib 压缩和调整图像大小不适用于 png 和 jpg 的奇怪结果

如何使用 PHP 的 GD 库对图像执行接缝雕刻?

如何使用 PHP 和 GD 获取图像资源大小(以字节为单位)?

PHP GD 允许的内存大小已用尽