【发布时间】:2021-10-06 18:43:58
【问题描述】:
我使用 PHP 和 Imagick 扩展来调整照片的大小(大约 5000x7000):
$img = new Imagick($fn);
$img->thumbnailImage($width, 0);
它适用于$width 是 800, 900 ... 1300,
但它在 1400 和 1600 时崩溃:cache resources exhausted /app/photo.jpg' @ error/cache.c/OpenPixelCache/4083。
我认为这取决于宽度和结果图像大小。 谷歌搜索错误文本证实了我的猜测。 他们建议在 ImageMagick 配置中增加内存限制。
但是! 我尝试创建宽度为 2000 的图像,它工作正常!
1400、1600、1800 - 失败。 1900、2000、2100... - 成功。
我迷路了。
【问题讨论】:
-
我认为这取决于文件大小而不是尺寸。
-
@fmw42,是的,但文件大小取决于尺寸)原始文件是固定的,比例是固定的
-
您使用的文件的尺寸和文件大小是多少?请具体。如果是 JPG,那么在读取时它们会被解压缩并且更大。
-
@fmw42 我使用一个尺寸为 5000x7000 的原始文件
-
你是如何制作更小的尺寸的?如果加载图像进行裁剪,则加载的是整个文件。
标签: php imagemagick imagick