php裁剪非常大的图像

标签 php memory-management image-processing

这个问题不是关于裁剪图像的代码。

我知道它是如何工作的。

这只是一个关于使用 PHP 图片库(GD 或 ImageMagick?)处理非常大的图片的问题。

例如我拿了一个非常大的文件(5000 x 35000 像素)8 位颜色 3 channel 将其加载到内存中所需的内存是 aprx。 50 个月!

现在,我想做这个 Action (只是为了举例):


  • 我想获取右下角的区域,大小为 (600 x 600) 像素。
  • 在这个图像部分,我想添加一个图形标签(不用担心 关于这个我知道)
  • 之后,我想把这部分写在 原始文件。

我认为,工作流程必须是这样的:

  1. 从大图读取原始字节(仅用于获取de部分文件)

  2. 处理零件文件

  3. 写下大图中的部分。

所有内存占用都很小。

你能帮我写这段代码吗(或资源链接)

非常感谢。

最佳答案

我会看类似 http://phpthumb.sourceforge.net/ 的内容

我以前从未将它用于如此大的图像,但在主页上它说“可以调用 ImageMagick(如果可用)为大于 PHP 内存限制的源图像生成缩略图将允许仅 GD 缩略图做,或者 GD 不支持的图像格式。”

关于php裁剪非常大的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9620849/

相关文章:

php - 翻译 WordPress 插件标题

php - 尝试将双引号表单数据库打印到输入字段中

c++ - 获取 Leptonica 中 Pix 类型图像的感兴趣区域 (ROI)

python - 如何在 Python 中使用 OpenCV 3.0 中的 HOG 功能训练 SVM 分类器?

android - 如果我使用的是 OpenCV 管理器,是否需要将 OpenCV native JNI 库复制到 jniLibs 目录?

php - jQuery BlockUI 脚本上的重复区域无法工作

PHP OOP 返回并调用单个数组值

iphone 应用程序 NSNumber 内存泄漏

memory-management - 你可以在禁用 Go 垃圾收集的情况下释放内存吗?

c# - x64 计算机上 x86 LARGEADDRESSAWARE 程序的内核模式内存大小?