问题标签 [imagick]
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.
php - 使用 Imagick 创建两个 pdf 页面
目前我可以使用此功能从 Imagick 中的图像创建 PDF 文件
并且可以像这样使用 imagick 获取多个页面
但是可以将两个图像对象保存到两个页面吗?(我在想的例子,不可能像这样)
php - 如何在 MAMP 上安装 ImageMagick?
我正在使用 MAMP(由 Apache/MySQL/PHP 组成的沙箱)运行 OSX Leopard。我按照本教程使用 MacPorts 安装了 ImageMagick: http ://www.brybot.ca/archives/getting-imagemagick-and-more-to-work-with-mamp-on-os-x/
然后我将 extension=imagick.so 添加到 php.ini 但 PHP 无法识别它。它不断告诉我:
知道如何解决这个问题吗?
php - Imagick 安装错误 - 类未定义
好的,以下是对发生的情况的细分:
<? $foo = new Imagick(); ?>
从命令行运行时可以正常工作(例如,sudo php myscript.php- 但是,当通过网络浏览器运行时,我得到
Fatal error: Class 'Imagick' not found in /var/www/lhackwith_www/test_html/magic.php on line 1
. - 魔法棒没有安装
- extension=imagick.so 在 imagick.ini 中,根据 phpInfo() 成功读取;
- 但是,imagick 没有出现在 PHP 信息中。
任何意见,将不胜感激。
php - 让 GD 从二进制字符串中获取图像
我有一个将图像存储在 MySQL BLOB 字段中的数据库。我设置了一个脚本,该脚本根据 URL 中的 ID 选择和显示图像,并且我也这样做了,因此如果您附加 ?resize=800x600,它将调整图像大小(在本例中为 800x600)。
我使用的主机没有安装 Imagemagick 也不让我自己做,所以我需要使用 PHP 的 GD 库来调整图像大小。
但是我还没有找到像 Imagick's 这样的函数readImageBlob()
,所以我无法编辑从数据库中获取的二进制字符串,除非先创建一个临时文件,对其进行编辑,从中获取二进制字符串,然后将其发送到浏览器,然后删除它(这是太多的步骤,特别是因为它在投入生产时会获得几千次点击)。
所以我的问题是,有没有办法在readImageBlob
不通过临时文件解决方案的情况下使用 PHP 的 GD 进行复制?
php - 使用 php 生成 Imagemagick 缩略图 - 使用 -crop
很久以前,我创建了一个小型库,用于通过 imagemagick 调整图像大小,system(...)
因为我觉得 PHP 的内置 imagemagick 函数不够用。
然而,最近我不得不将它移植到一个 symfony 项目中,我选择使用 sfThumbnailPlugin(如果我没记错的话)。不幸的是,这不包括裁剪功能 - 即指定所需的大小,例如 300x300 像素并裁剪缩略图以使其适合。我选择自己实现这个功能,但似乎有问题。
每当我将图像的大小调整到所需的大小时,宽度大于高度时,比例就会被搞砸。看看这个例子: http: //i37.tinypic.com/9hkqrl.png - 在这个例子中,最上面一行是正确的比例,最下面一行是问题所在。
在示例中,顶部和底部应该已被裁剪。
这是完成裁剪部分的代码(变量名称应该是不言自明的):
Is 是产生错误代码的 if 语句的第二部分。
任何人都可以为我纠正这个吗?显然计算是错误的。
php - PHP iMagick 图像压缩
我对 iMagick 还很陌生,只在 PHP 库上找到了非常有限的文档。我很高兴调整图像大小并将它们写回硬盘驱动器,但我完全无法使用 JPG 压缩图像。
这是我到目前为止使用的代码:
php - 限制 IMagick (PHP) 中的线程数
使用 ImageMagick 时,我可以为内存使用和最大线程数设置一定的限制。据我所知,有3种方法可以做到这一点:
- 使用命令行选项,例如“convert -limit memory 128mb original.jpg new.jpg”
- 使用像“MAGICK_THREAD_LIMIT=1”这样的环境变量
- 编辑“policy.xml”配置文件以更改默认值。
我已经使用“convert -list resource”测试了这些方法中的每一个,它们都有效。
现在,我需要在 PHP 中使用 IMagick 扩展。我可以使用一个函数来设置限制:
对于第一个参数,我可以使用以下之一:
问题是 MAGICK_THREAD_LIMIT 没有等效项,而 IMagick 似乎只是忽略了配置文件和环境变量。我怎么知道这个?我已将所有内存限制设置为零,当 IMagick 报告内存不足时,它仍然可以正常运行。
我真的希望我已经说清楚了。问题是:使用 IMagick 时如何更改线程限制?
编辑:通过使用“--without-threads”选项编译 ImageMagick,我设法将线程限制设置为 1。:P 在我找到更好的解决方案之前必须这样做。
php - 如何在保留 ICC 颜色配置文件的同时删除 EXIF 标签?
我正在以编程方式为图像生成几种尺寸的缩略图。
我需要保留图像的色彩空间,同时删除所有(其他)EXIF 信息。
我在 PHP 5.3 上使用 imagick,但有关如何使用任何 imagemagick API 执行此操作的信息会有所帮助。
我正在尝试尽可能多地修剪图像缩略图的文件大小,但色彩空间是必要的信息,或者客户端渲染颜色不够准确。
php - 如何使用 Imagick php 生成带有调色板偏移的 bmp 文件
我正在尝试通过 php 使用 Imagick 从 jpg 生成 8 位 bmp。但我希望像素颜色从索引 16 而不是 0 开始。下面的代码显示了如何以我需要的正确格式生成 bmp,但调色板索引默认为 0。有没有办法确保调色板开始在另一个索引?