问题标签 [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 - 如何在 PHP 中使用 Imagick 换行文本,以便将其绘制为多行文本?
PHP 中的 Imagick 库允许您在图像上绘制文本。
我如何告诉 Imagick 基于一些有界文本框来换行文本,以便单词显示为多行文本而不是单行?
php - 将 PHP/GD 包装器移植到 Imagick 的问题
我最近发现 Imagick 可以支持颜色配置文件,从而产生比 GD 质量更好的图像(有关更多详细信息,请参阅此问题/答案),因此我正在尝试移植我的 GD 包装器以使用 Imagick 类,我的当前的 GD 实现如下所示:
我一直在尝试使用 Imagick 类方法,这就是我目前所得到的:
已经支持基本功能(裁剪/调整大小/水印),但是,我仍然遇到一些问题。由于 PHP Imagick 文档有点糟糕,我别无选择,只能尝试所有可用方法和参数的试错方法组合,这需要很多时间。
我目前的问题/疑问是:
1 - 保持透明度
在我最初的实现中,这些行:
将透明 PNG 图像转换为 PNG 输出时,具有保留透明度的效果。但是,如果您尝试将透明 PNG 图像转换为 JPEG 格式,则透明像素的颜色应设置为白色。到目前为止,使用 ImageMagick,我只能将所有透明像素转换为 white,但如果输出格式支持,我无法保留透明度。
2 - 压缩输出格式(即 JPEG 和 PNG)
我的原始实现在 PNG 上使用 9 的压缩级别,在 JPEG 上使用 90 的质量:
这些行:
似乎压缩 JPEG 图像 - 然而,GD 能够使用与质量参数相同的参数来压缩它更多$value
- 为什么?对于以下之间的差异,我也一无所知:
Imagick::setCompression()
/Imagick::setImageCompression()
和Imagick::setCompressionQuality()
/Imagick::setImageCompressionQuality()
我应该使用哪一个,它们有什么区别?此外,最关键的问题与 PNG 压缩有关,Imagick 压缩常量列表似乎不支持 PNG 格式:
这是在屁股上的油漆,因为如果使用 Imagick 输出(大小约为 2 MB),恰好大小为 100-200 KB 的 GD PNG 输出会变得非常胖......
关于这个问题有几个关于 SO 的问题,但 我 找不到 任何不依赖外部应用程序的有效解决方案。这真的不可能用 ImageMagick 做吗?!
3 - 图像卷积
在 GD 实现中,我调用ImageConvolution()
来锐化图像,我知道 Imagick 有内置的方法来锐化图像(我还没有机会尝试它们)但我想知道 Imagick 是否有相当于ImageConvolution()
函数。
4 - 颜色配置文件
这与原始实现无关,但我也想把它做好。
我是否应该始终将 Imagick / International Color Consortium sRGB 颜色配置文件添加到所有图像?还是应该仅在存在(或不存在)特定颜色配置文件时才添加?
另外,我应该删除现有的颜色配置文件吗?
我知道这可能是一个广泛的问题,但我对颜色配置文件的理解非常有限,非常感谢对此提供一些一般性指导。
5 - 打开远程图像
GD 原生支持打开远程图像,无论是通过ImageCreateFrom*
函数,还是像我正在做的那样file_get_contents()
结合使用。ImageCreateFromString()
Imagick 似乎只能打开本地图像,或打开文件句柄。是否有任何直接的方法可以让 Imagick 读取远程图像(无需打开和关闭文件句柄)?
如果有人可以阐明这些问题中的任何一个,我将不胜感激。
提前致谢!
php - Imagick:设置 Imagick 项目的重力
我在 Imagick 中设置图像的重力有一些真正的困难。
我已经设法设置了 ImaickDraw 对象的重力,但我没有成功地将它设置在 Imagick 对象中。
下面是我当时正在使用的基本代码。我刚刚使用了与 ImagickDraw 相同的方法,但显然它不起作用。
任何想法如何设置现有图像而不是绘图对象的重力?
谢谢!
php - 带有消息“无法打开文件”的“ImagickException”
带有消息“无法打开文件/data/web/myweb.com/sub/7/file:/data/web/myweb.com/sub/7/sites/default/files/logo.png”的“ImagickException”
嗨,当我想从网页创建 PDF 文件时,我收到了这条消息,即 png 文件。仅当 PDF 的内容包含一些 PNG 文件时才会引发错误。当我删除所有应该是 pdf 的 png 文件时,一切都是正确的。当我查看 php 信息时,我看到 png 是 Imagick 支持的格式。当我试图在谷歌上找到解决方案时,它返回了许多具有相同错误但几乎没有解决方案的站点。我找到的唯一解决方案是将另一个库安装到服务器。但如果有的话,我更喜欢另一种解决方案。
感谢托马斯的任何建议
module - host-imagick 的问题
我有这个模块的问题。
在我的本地服务器中,我打开我的 php.ini,我在列表中有模块 imagick。现在我将站点更改为网络服务器,但在 php.ini 中,未显示该模块。
我与拥有网络服务器的公司进行了交谈,答案是:“模块已安装并显示:”
但是当我使用这段代码时:
我简单地收到这个:
但是相同的代码在我的本地主机中有效。问题是什么?(可能是扩展名在php.ini中被注释了?还是代码中存在问题?)
谢谢
php - PDF 尺寸与实际内容尺寸
我目前正在使用 php 的 imagick 将一些 PDF 转换为图像 - 这对于图像在输出过程中被“切碎”的小细节非常有效。
这是由于 PDF 中包含的信息与实际内容尺寸存在差异。
PDF 报告为 612x792 72ppi 文档,但是当我通过 Mac 上的预览从中导出图像时,图像为 1651x1275 - 这怎么可能?
显然,导出是正确的,因为在这些维度上可以正确查看图像 - 难道是 PDF 在宽度和高度混合的地方被错误地编码?如何通过代码检测到这一点?此外,图像导出的大小不同(大得多),大约是大小的两倍,这让我相信 imagick 没有正确读取某些信息。
基本上我想知道是否有适当的方法来确定实际的 PDF 内容大小,以便从中导出的图像质量尽可能好。
谢谢!
编辑:(添加代码)
使用的pdf如下: http ://www.pantone.com/pages/MYP_mypantone/software_downloader.aspx?f=3
此外,这是 identifyImage() 函数的 imagick 输出,从文件大小来看似乎有点错误。
php - PHP-Imagemagick 图片展示
我有创建pdf缩略图的php代码如下;
哪个运作良好。但是如果我想在网页中显示图像,我必须使用<img src="">
标签。有没有办法使用..header("Content-Type: image/jpeg");
从语法和回显图像中删除?<img src="">
或者有人告诉我如何使用语法在网页中显示图像。
我在我的 Windows Vista PC 中使用 php5 运行 apache..
php - 设置ImageMagick PNG图像背景颜色
我有一个 PHP 脚本来创建 PDF 文件的 PNG 缩略图,如下所示:
它返回一个缩略图,但背景是透明的。我想设置白色背景颜色(将 alpha 图层更改为白色)。我怎样才能做到这一点?
php - php Imagemagick jpg 黑色背景
我有一个 php 脚本来创建 pdf 的 jpg 缩略图,如下所示;
但是生成的jpg有黑色背景而不是白色..我该如何解决这个问题?
php - 缩略图生成/图像调整大小
你会推荐什么 PHP 库来生成缩略图?我需要它与 GD(不仅是 Imagick)一起工作,能够在仅给定一个维度时拉伸图像或保持纵横比,并且 - 最重要的是 - 能够裁剪和调整图像大小(在生成缩略图时,我需要所有这些都是,假设是 128x128,所以我希望库在这种情况下裁剪图像)你有什么建议?