问题标签 [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.
xml - 在 Heroku 上将 SVG XML 转换为 PNG
我正在开发一个允许用户使用 Raphael.js 绘制 SVG 的网络应用程序。
当他们发布他们的个人信息时,我使用 XMLSerializer().serializeToString 并通过隐藏的表单字段提交输出以存储到 MySQL 中。
我的问题是我想稍后读出这些 XML 数据并将其转换为 PNG 文件,然后可以稍后将其邮寄给用户,并且我的应用程序部署在 Heroku 上。
我知道蜡染和 rmagick,但不太确定如何将所有东西组合在一起。
我一直在兜圈子,试图找到解决方案 - 会很感激一些方向 - 谢谢!
python - 使用 ImageMagick 的“转换”实用程序作为 Python 子进程
我正在寻找转换缩略图的大目录。
我不想使用 PythonMagick 包装器,而是直接访问转换二进制文件(我有很多标志,并且认为这对于大量照片会更有效。)
有没有使用 ImageMagick 作为子进程的工作示例?或者,有没有更好的方法来做到这一点?
具体来说,我不确定如何在类中启动和结束 Python 子进程。我的课叫做 ThumbnailGenerator。我希望做这样的事情:
python - 使用 ImageMagick 为存储在 Amazon S3 中的图像生成缩略图
我正在寻找使用 ImageMagick 的转换实用程序为存储在 S3 中的图像制作缩略图。我正在用 Python 写这个。
我应该如何处理这个?
我是否应该从 S3 读取图像,将其保存到 EC2 实例上的临时文件夹,将缩略图生成到临时目录,然后将临时文件放入 S3 并删除它?
或者我可以将 S3 的结果直接“管道”到 ImageMagick 而不将其存储到本地磁盘吗?
有推荐的方法吗?
提前致谢。
imagemagick - 使用 ImageMagick 高效生成缩略图并进行转换
我希望在 Python 中使用 ImageMagick 的转换实用程序有效地生成各种大小的缩略图。我的一些图像文件非常大(~15MB JPG)。
我可以做到的一种方法是获取全尺寸图像,并从全尺寸图像生成各种缩略图,如下所示:
但另一种方法是相互调整图像的大小:
这样做有什么缺点,或者可能有更好的方法吗?看起来这样会更有效率。
作为推论,是否有任何标志或“技巧”转换用于加速该过程?
imagemagick - 在 ImageMagick 中,我怎样才能将图像缩小到足够的程度,以便将其裁剪为特定尺寸?
例如,如果我有一个 1600x1200 的大图像,但我想生成一个 250x200 的缩略图(高度和宽度的不同比例) - 我如何将其缩小到大小然后居中裁剪它?这可以在一行中使用转换吗?
imagemagick - 将 ImageMagick 中的多个图像与相对(非绝对)偏移量相结合
我正在寻找在 ImageMagick 中将多个图像拼接在一起的最有效方法,在背景图像之上,这样重叠图像之间的间距/填充是一致的?
我研究了 +append 的使用、转换 -composite 以及使用 -page 和 -layers 合并进行转换。
以下命令 (convert -composite) 有效,但需要预先计算图像尺寸以指定绝对偏移量。真的,我想要在第一个分层图像的结尾和第二个分层图像的开始之间有 10 像素的间隙,但我能看到的唯一方法是指定从画布左上角的绝对偏移量.
我正在寻找某种运算符,以便可以相对于分层中的“最后一个”图像解释水平偏移量,因此我可以指定一个偏移量,而不是指定+300+10
第二个图像和第三个图像。+590+10
+10+10
-gravity Northwest
我认为重力可以让我以与 CSS 定位相同的方式实现 ( ) float: left;
,但事实并非如此。
我在以下方面也取得了一些成功:
所描述的两种技术都需要预先计算绝对偏移量,这有点麻烦。有一个更好的方法吗?
imagemagick - 定义 ImageMagick 转换的文件顺序
我有一堆PNG
名为foo<bar>.png
我希望转换为 TIF 动画的文件。<bar>
是一个数字,从 0 到 25 以 5 为单位变化。ImageMagickfoo5.png
在动画中排在最后,而它应该排在第二位。除了将文件重命名为foo05.png
将其放置在正确的位置之外,还有其他方法吗?
linux - ImageMagick:如何在调整大量图像文件大小的同时实现低内存使用?
我想调整大量(大约 5200 个)图像文件(PPM 格式,每个大小为 5 MB)并使用convert
.
简洁版本:
convert
convert
尽管我使用了告诉连续处理图像文件的语法,但会炸毁 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 实现相同的目标。
谢谢!
imagemagick - 有没有办法将 ImageMagick 传递给 RGBA 数组以将其渲染为图像?
问题几乎说明了一切。
这个想法是生成程序PNG。我知道 imageMagick 的 '-fx' 运算符,但它很慢。
一种解决方法可能是将我的数组保存到 .bmp (这几乎只是保存它),然后使用 ImageMagick 将 .bmp 转换为 .png 但最好有更直接的方法。
perl - 如何使用 ImageMagick API 在 Perl 中编写此命令行命令?
如何使用 ImageMagick API 在 Perl 中执行与以下命令行命令相同的操作?
结果应该类似于: