问题标签 [imagemagick-convert]

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 投票
0 回答
790 浏览

xml - 在 Heroku 上将 SVG XML 转换为 PNG

我正在开发一个允许用户使用 Raphael.js 绘制 SVG 的网络应用程序。

当他们发布他们的个人信息时,我使用 XMLSerializer().serializeToString 并通过隐藏的表单字段提交输出以存储到 MySQL 中。

我的问题是我想稍后读出这些 XML 数据并将其转换为 PNG 文件,然后可以稍后将其邮寄给用户,并且我的应用程序部署在 Heroku 上。

我知道蜡染和 rmagick,但不太确定如何将所有东西组合在一起。

我一直在兜圈子,试图找到解决方案 - 会很感激一些方向 - 谢谢!

0 投票
1 回答
2436 浏览

python - 使用 ImageMagick 的“转换”实用程序作为 Python 子进程

我正在寻找转换缩略图的大目录。

我不想使用 PythonMagick 包装器,而是直接访问转换二进制文件(我有很多标志,并且认为这对于大量照片会更有效。)

有没有使用 ImageMagick 作为子进程的工作示例?或者,有没有更好的方法来做到这一点?

具体来说,我不确定如何在类中启动和结束 Python 子进程。我的课叫做 ThumbnailGenerator。我希望做这样的事情:

0 投票
1 回答
1477 浏览

python - 使用 ImageMagick 为存储在 Amazon S3 中的图像生成缩略图

我正在寻找使用 ImageMagick 的转换实用程序为存储在 S3 中的图像制作缩略图。我正在用 Python 写这个。

我应该如何处理这个?

我是否应该从 S3 读取图像,将其保存到 EC2 实例上的临时文件夹,将缩略图生成到临时目录,然后将临时文件放入 S3 并删除它?

或者我可以将 S3 的结果直接“管道”到 ImageMagick 而不将其存储到本地磁盘吗?

有推荐的方法吗?

提前致谢。

0 投票
5 回答
9466 浏览

imagemagick - 使用 ImageMagick 高效生成缩略图并进行转换

我希望在 Python 中使用 ImageMagick 的转换实用程序有效地生成各种大小的缩略图。我的一些图像文件非常大(~15MB JPG)。

我可以做到的一种方法是获取全尺寸图像,并从全尺寸图像生成各种缩略图,如下所示:

但另一种方法是相互调整图像的大小:

这样做有什么缺点,或者可能有更好的方法吗?看起来这样会更有效率。

作为推论,是否有任何标志或“技巧”转换用于加速该过程?

0 投票
2 回答
6064 浏览

imagemagick - 在 ImageMagick 中,我怎样才能将图像缩小到足够的程度,以便将其裁剪为特定尺寸?

例如,如果我有一个 1600x1200 的大图像,但我想生成一个 250x200 的缩略图(高度和宽度的不同比例) - 我如何将其缩小到大小然后居中裁剪它?这可以在一行中使用转换吗?

0 投票
2 回答
11328 浏览

imagemagick - 将 ImageMagick 中的多个图像与相对(非绝对)偏移量相结合

我正在寻找在 ImageMagick 中将多个图像拼接在一起的最有效方法,在背景图像之上,这样重叠图像之间的间距/填充是一致的?

我研究了 +append 的使用、转换 -composite 以及使用 -page 和 -layers 合并进行转换。

以下命令 (convert -composite) 有效,但需要预先计算图像尺寸以指定绝对偏移量。真的,我想要在第一个分层图像的结尾和第二个分层图像的开始之间有 10 像素的间隙,但我能看到的唯一方法是指定从画布左上角的绝对偏移量.

我正在寻找某种运算符,以便可以相对于分层中的“最后一个”图像解释水平偏移量,因此我可以指定一个偏移量,而不是指定+300+10第二个图像和第三个图像。+590+10+10+10

-gravity Northwest我认为重力可以让我以与 CSS 定位相同的方式实现 ( ) float: left;,但事实并非如此。

我在以下方面也取得了一些成功:

所描述的两种技术都需要预先计算绝对偏移量,这有点麻烦。有一个更好的方法吗?

0 投票
6 回答
9024 浏览

imagemagick - 定义 ImageMagick 转换的文件顺序

我有一堆PNG名为foo<bar>.png我希望转换为 TIF 动画的文件。<bar>是一个数字,从 0 到 25 以 5 为单位变化。ImageMagickfoo5.png在动画中排在最后,而它应该排在第二位。除了将文件重命名为foo05.png将其放置在正确的位置之外,还有其他方法吗?

0 投票
3 回答
4931 浏览

linux - ImageMagick:如何在调整大量图像文件大小的同时实现低内存使用?

我想调整大量(大约 5200 个)图像文件(PPM 格式,每个大小为 5 MB)并使用convert.

简洁版本:

convertconvert尽管我使用了告诉连续处理图像文件的语法,但会炸毁 24 GB 的内存。

长版:

关于超过 25 GB 的图像数据,我认为我不应该同时处理所有文件。我搜索了有关如何连续处理图像文件的 ImageMagick 文档,我发现

调整读取的每个图像的大小更快且资源消耗更少:

$ convert '*.jpg[120x120]' thumbnail%03d.png

此外,教程指出

例如,而不是...

montage '*.tiff' -geometry 100x100+5+5 -frame 4 index.jpg

它首先读取所有 tiff 文件,然后调整它们的大小。你可以改为...

montage '*.tiff[100x100]' -geometry 100x100+5+5 -frame 4 index.jpg

这将读取每个图像并调整它们的大小,然后再继续下一个图像。当达到内存限制时,导致内存使用量大大减少,并可能防止磁盘交换(抖动)。

因此,这就是我正在做的事情:

根据文档,它应该一个一个地处理每个图像文件:读取、调整大小、写入。我在具有 12 个真实内核和 24 GB RAM 的机器上执行此操作。但是,在前两分钟内,convert进程的内存使用率增长到大约 96%。它在那里停留了一段时间。CPU 使用率达到最大值。再长一点,这个过程就结束了,只是说:

被杀

此时,尚未生成任何输出文件。我在 Ubuntu 10.04 上convert --version说:

看起来像是convert在开始转换之前尝试读取所有数据。因此,要么存在错误,要么存在convert文档问题,要么我没有正确阅读文档。

怎么了?在调整大量图像文件的大小时,如何实现低内存使用?

顺便说一句:一个快速的解决方案是使用外壳循环文件并convert独立调用每个文件。但我想了解如何使用纯 ImageMagick 实现相同的目标。

谢谢!

0 投票
1 回答
2151 浏览

imagemagick - 有没有办法将 ImageMagick 传递给 RGBA 数组以将其渲染为图像?

问题几乎说明了一切。

这个想法是生成程序PNG。我知道 imageMagick 的 '-fx' 运算符,但它很慢。

一种解决方法可能是将我的数组保存到 .bmp (这几乎只是保存它),然后使用 ImageMagick 将 .bmp 转换为 .png 但最好有更直接的方法。

0 投票
1 回答
151 浏览

perl - 如何使用 ImageMagick API 在 Perl 中编写此命令行命令?

如何使用 ImageMagick API 在 Perl 中执行与以下命令行命令相同的操作?

结果应该类似于: