【问题标题】:php crop really large imagephp裁剪非常大的图像
【发布时间】:2012-03-26 02:58:58
【问题描述】:

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

我知道它是如何工作的。

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

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

现在,我想做这个动作(只是举例):


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

我想,工作流程一定是这样的:

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

  2. 处理部分文件

  3. 在大图中写下部分。

所有内存占用都小。

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

非常感谢。

【问题讨论】:

    标签: php memory-management image-processing


    【解决方案1】:

    PHP 不是为数字运算而设计的。

    图像编辑涉及大量数字运算。

    任何解决方法都必须是原生的,才能看到性能上的显着差异。如果可以,请使用 ImageMagick。

    【讨论】:

      【解决方案2】:

      尝试在调整大小之前添加:

        ini_set('memory_limit', '128M');
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2023-03-29
          • 2020-04-05
          • 1970-01-01
          • 2020-01-14
          • 1970-01-01
          • 1970-01-01
          • 2012-05-19
          • 2012-08-08
          • 1970-01-01
          相关资源
          最近更新 更多