问题标签 [gd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
87895 浏览

php - PHP 中高效的 JPEG 图像大小调整

在 PHP 中调整大图像大小的最有效方法是什么?

我目前正在使用GD函数 imagecopyresampled 来获取高分辨率图像,并将它们干净地调整为 Web 查看的大小(大约 700 像素宽 x 700 像素高)。

这对小型(小于 2 MB)照片非常有效,整个调整大小操作在服务器上花费的时间不到一秒。但是,该网站最终将为可能上传最大 10 MB 的图像(或最大 5000x4000 像素的图像)的摄影师提供服务。

对大图像执行这种调整大小操作往往会大大增加内存使用量(更大的图像可能会使脚本的内存使用量超过 80 MB)。有什么方法可以使这个调整大小操作更有效?我应该使用其他图像库,例如ImageMagick吗?

现在,调整大小的代码看起来像这样

0 投票
9 回答
16596 浏览

php - 如何使用 GD 调整上传图像的大小并将其转换为 PNG?

我希望允许用户以各种格式(至少 GIF、JPEG 和 PNG)上传头像类型的图像,但要将它们全部保存为PNG 数据库 BLOB。如果图像过大,按像素计算,我想在插入 DB 之前调整它们的大小。

使用 GD 进行大小调整和 PNG 转换的最佳方法是什么?

编辑:可悲的是,我需要使用的服务器上 只有GD可用,没有ImageMagick

0 投票
1 回答
2966 浏览

php - 使用 PHP GD 嵌入 IPTC 图像数据

我正在尝试将 IPTC 数据嵌入到 JPEG 图像中,iptcembed()但遇到了一些麻烦。

我已经验证它在最终产品中:

它返回输入的标签。

但是,当我保存并重新加载图像时,标签不存在:

那么为什么保存的图像中没有标签?

PHP 源代码在此处可用,相应的输出为:

  1. 图像输出
  2. 数据输出
0 投票
10 回答
98725 浏览

php - 使用PHP的GDlib imagecopyresampled时可以保留PNG图像透明度吗?

以下 PHP 代码片段使用 GD 将浏览器上传的 PNG 大小调整为 128x128。它工作得很好,除了在我的例子中原始图像中的透明区域被替换为纯黑色。

即使imagesavealpha设置好了,有些地方不太对劲。

在重新采样的图像中保持透明度的最佳方法是什么?

0 投票
2 回答
7916 浏览

php - PHP GD, imagecreatefromstring(); 如何获得图像尺寸?

通常我使用imagecreatefromjpeg()and then getimagesize(),但是对于 Firefox 3 我需要绕过这个不同的地方。所以现在我正在使用imagecreatefromstring(),但我现在如何检索图像尺寸?

0 投票
5 回答
2340 浏览

php - 使用 PHP 和 GD 生成的图像被切断

这仅发生在实时服务器上。在多重开发服务器上,图像正在按预期创建。

直播:红帽

GD 支持 => 启用 GD 版本 => 捆绑(2.0.34 兼容)

开发:Ubuntu 8

GD 支持 => 启用 GD 版本 => 2.0 或更高版本

在一个完美的世界中,我希望实时服务器和开发服务器运行相同的发行版,但实时服务器必须是 Red Hat。

我的问题是,有没有人知道使用 GD 的捆绑版本会导致图像的最右侧部分被切断的具体差异?

编辑:我没有内存不足。日志文件中没有生成错误。就 php 而言,图像正在正确生成。这就是为什么我认为捆绑版本是 GD 特有的问题。

0 投票
2 回答
1252 浏览

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

我正在开发一个使用PHP 的 GD库调整图像大小的项目。我希望能够添加使用接缝雕刻来调整图像大小的选项,但不希望需要像ImageMagick(它可以使用其液体重新缩放功能进行接缝雕刻)之类的东西来完成此操作。

由于 GD 中没有内置的接缝雕刻功能,有没有办法使用 PHP 的 GD 库或其他内置的 PHP 函数对图像执行接缝雕刻?或者,你知道缝雕最终会不会被烤成GD吗?

0 投票
8 回答
17318 浏览

php - 创建图像而不将其存储为本地文件

这是我的情况 - 我想从用户上传的图像创建一个调整大小的 jpeg 图像,然后将其发送到 S3 进行存储,但我希望避免将调整大小的 jpeg 写入磁盘,然后为 S3 请求重新加载它。

有没有办法在内存中完全做到这一点,图像数据 JPEG 格式,保存在变量中?

0 投票
5 回答
24343 浏览

php - PHP 函数 imagettftext() 和 unicode

我正在使用 PHP 函数 imagettftext() 将文本转换为 GIF 图像。我正在转换的文本包含 Unicode 字符,包括日语。在我的本地机器(Ubuntu 7.10)上一切正常,但在我的虚拟主机服务器上,日语字符被破坏了。什么可能导致差异?一切都应该编码为 UTF-8。

虚拟主机服务器上的损坏图像:http: //www.ibeni.net/flashcards/imagetest.php

从我的本地机器复制正确的图像:http: //www.ibeni.net/flashcards/imagetest.php.gif

从我的本地机器复制 phpinfo():http: //www.ibeni.net/flashcards/phpinfo.php.html

从我的虚拟主机服务器复制 phpinfo(): http ://example5.nfshost.com/phpinfo

代码:

0 投票
1 回答
3176 浏览

php - BiCubic Shaper PHP 图像调整大小

Photoshop 有一个很棒的功能:用于调整大小的 BiCube Shaper 选项。

但是我找不到等价物。

我已经看到使用 GD 的各种代码,这些代码使用了 imagecopyresampled 和自定义 unsharp mask,但没有达到我期望的质量。

有什么帮助吗?