问题标签 [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.

0 投票
5 回答
10310 浏览

php - 使用 Imagick 创建两个 pdf 页面

目前我可以使用此功能从 Imagick 中的图像创建 PDF 文件

并且可以像这样使用 imagick 获取多个页面

但是可以将两个图像对象保存到两个页面吗?(我在想的例子,不可能像这样)

0 投票
4 回答
10522 浏览

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 无法识别它。它不断告诉我:

知道如何解决这个问题吗?

0 投票
4 回答
4024 浏览

php - Imagick 安装错误 - 类未定义

好的,以下是对发生的情况的细分:

  1. <? $foo = new Imagick(); ?>从命令行运行时可以正常工作(例如,sudo php myscript.php
  2. 但是,当通过网络浏览器运行时,我得到Fatal error: Class 'Imagick' not found in /var/www/lhackwith_www/test_html/magic.php on line 1.
  3. 魔法棒没有安装
  4. extension=imagick.so 在 imagick.ini 中,根据 phpInfo() 成功读取;
  5. 但是,imagick 没有出现在 PHP 信息中。

任何意见,将不胜感激。

0 投票
1 回答
4448 浏览

php - 让 GD 从二进制字符串中获取图像

我有一个将图像存储在 MySQL BLOB 字段中的数据库。我设置了一个脚本,该脚本根据 URL 中的 ID 选择和显示图像,并且我也这样做了,因此如果您附加 ?resize=800x600,它将调整图像大小(在本例中为 800x600)。

我使用的主机没有安装 Imagemagick 也不让我自己做,所以我需要使用 PHP 的 GD 库来调整图像大小。
但是我还没有找到像 Imagick's 这样的函数readImageBlob(),所以我无法编辑从数据库中获取的二进制字符串,除非先创建一个临时文件,对其进行编辑,从中获取二进制字符串,然后将其发送到浏览器,然后删除它(这是太多的步骤,特别是因为它在投入生产时会获得几千次点击)。

所以我的问题是,有没有办法在readImageBlob不通过临时文件解决方案的情况下使用 PHP 的 GD 进行复制?

0 投票
2 回答
2381 浏览

php - 使用 php 生成 Imagemagick 缩略图 - 使用 -crop

很久以前,我创建了一个小型库,用于通过 imagemagick 调整图像大小,system(...)因为我觉得 PHP 的内置 imagemagick 函数不够用。

然而,最近我不得不将它移植到一个 symfony 项目中,我选择使用 sfThumbnailPlugin(如果我没记错的话)。不幸的是,这不包括裁剪功能 - 即指定所需的大小,例如 300x300 像素并裁剪缩略图以使其适合。我选择自己实现这个功能,但似乎有问题。

每当我将图像的大小调整到所需的大小时,宽度大于高度时,比例就会被搞砸。看看这个例子: http: //i37.tinypic.com/9hkqrl.png - 在这个例子中,最上面一行是正确的比例,最下面一行是问题所在。

在示例中,顶部和底部应该已被裁剪。

这是完成裁剪部分的代码(变量名称应该是不言自明的):

Is 是产生错误代码的 if 语句的第二部分。

任何人都可以为我纠正这个吗?显然计算是错误的。

0 投票
3 回答
17580 浏览

php - 使用透明 PNG 作为剪辑蒙版

是否可以拍摄此图像:

图像1

并应用这个面具:

面具

并把它变成这样:

图2

使用 GD 还是 Imagick?我知道可以使用形状来掩盖图像,但我不确定如何继续使用预先创建的 alphatransparent 图像进行操作。:秒

0 投票
3 回答
12618 浏览

php - PHP iMagick 图像压缩

我对 iMagick 还很陌生,只在 PHP 库上找到了非常有限的文档。我很高兴调整图像大小并将它们写回硬盘驱动器,但我完全无法使用 JPG 压缩图像。

这是我到目前为止使用的代码:

0 投票
4 回答
9682 浏览

php - 限制 IMagick (PHP) 中的线程数

使用 ImageMagick 时,我可以为内存使用和最大线程数设置一定的限制。据我所知,有3种方法可以做到这一点:

  1. 使用命令行选项,例如“convert -limit memory 128mb original.jpg new.jpg”
  2. 使用像“MAGICK_THREAD_LIMIT=1”这样的环境变量
  3. 编辑“policy.xml”配置文件以更改默认值。

我已经使用“convert -list resource”测试了这些方法中的每一个,它们都有效。

现在,我需要在 PHP 中使用 IMagick 扩展。我可以使用一个函数来设置限制:

对于第一个参数,我可以使用以下之一:

问题是 MAGICK_THREAD_LIMIT 没有等效项,而 IMagick 似乎只是忽略了配置文件和环境变量。我怎么知道这个?我已将所有内存限制设置为零,当 IMagick 报告内存不足时,它仍然可以正常运行。

我真的希望我已经说清楚了。问题是:使用 IMagick 时如何更改线程限制?

编辑:通过使用“--without-threads”选项编译 ImageMagick,我设法将线程限制设置为 1。:P 在我找到更好的解决方案之前必须这样做。

0 投票
2 回答
2128 浏览

php - 如何在保留 ICC 颜色配置文件的同时删除 EXIF 标签?

我正在以编程方式为图像生成几种尺寸的缩略图。

我需要保留图像的色彩空间,同时删除所有(其他)EXIF 信息。

我在 PHP 5.3 上使用 imagick,但有关如何使用任何 imagemagick API 执行此操作的信息会有所帮助。

我正在尝试尽可能多地修剪图像缩略图的文件大小,但色彩空间是必要的信息,或者客户端渲染颜色不够准确。

0 投票
1 回答
1652 浏览

php - 如何使用 Imagick php 生成带有调色板偏移的 bmp 文件

我正在尝试通过 php 使用 Imagick 从 jpg 生成 8 位 bmp。但我希望像素颜色从索引 16 而不是 0 开始。下面的代码显示了如何以我需要的正确格式生成 bmp,但调色板索引默认为 0。有没有办法确保调色板开始在另一个索引?