增加 Imagicks 最大分辨率
Increasing Imagicks max resolution
我有一个客户允许客户上传大文件以进行打印操作。该网站使用 Imagick 来处理图像,但是,当尝试设置最大宽度和高度时,它不会超过 16000。例如:
// This sets the max width to 20000px
php > Imagick::setResourceLimit(9, 20000);
php > echo $image->getResourceLimit(9);
16000
php > Imagick::setResourceLimit(9, 15000);
php > echo $image->getResourceLimit(9);
15000
这是库的限制还是我需要配置其他东西?
您需要为 ImageMagick 找到您的 policy.xml
并取消注释并设置如下所示的行:
<!-- <policy domain="resource" name="memory" value="2GiB"/> -->
<!-- <policy domain="resource" name="width" value="10KP"/> -->
<!-- <policy domain="resource" name="height" value="10KP"/> -->
您应该能够找到文件:
identify -list configure | grep CONFIGURE_PATH
示例输出
CONFIGURE_PATH /usr/local/Cellar/imagemagick/7.0.8-10/etc/ImageMagick-7/
然后将 policy.xml
附加到最后。所以我的是:
/usr/local/Cellar/imagemagick/7.0.8-10/etc/ImageMagick-7/policy.xml
如果由于某种原因您无法通过上述方法找到 policy.xml
文件,您可以使用以下长(慢)方式搜索它:
find /usr /opt / -name policy.xml
我有一个客户允许客户上传大文件以进行打印操作。该网站使用 Imagick 来处理图像,但是,当尝试设置最大宽度和高度时,它不会超过 16000。例如:
// This sets the max width to 20000px
php > Imagick::setResourceLimit(9, 20000);
php > echo $image->getResourceLimit(9);
16000
php > Imagick::setResourceLimit(9, 15000);
php > echo $image->getResourceLimit(9);
15000
这是库的限制还是我需要配置其他东西?
您需要为 ImageMagick 找到您的 policy.xml
并取消注释并设置如下所示的行:
<!-- <policy domain="resource" name="memory" value="2GiB"/> -->
<!-- <policy domain="resource" name="width" value="10KP"/> -->
<!-- <policy domain="resource" name="height" value="10KP"/> -->
您应该能够找到文件:
identify -list configure | grep CONFIGURE_PATH
示例输出
CONFIGURE_PATH /usr/local/Cellar/imagemagick/7.0.8-10/etc/ImageMagick-7/
然后将 policy.xml
附加到最后。所以我的是:
/usr/local/Cellar/imagemagick/7.0.8-10/etc/ImageMagick-7/policy.xml
如果由于某种原因您无法通过上述方法找到 policy.xml
文件,您可以使用以下长(慢)方式搜索它:
find /usr /opt / -name policy.xml