问题标签 [perlmagick]
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.
perl - PerlMagick 扼杀 ICO 文件?
我一直在研究一个从网站检索网站图标的脚本,现在大部分都在工作,但我遇到了一个巨大的障碍。当我在 Perl 中调用 ImageMagick 模块时,它似乎不知道如何处理古老的 favicon.ico 文件(当站点具有非 ICO 图标时,一切都很好)。我可以找到很多关于转换为ICO 以创建网站图标的信息,但没有太多关于从ICO 转换的信息。
检索到 favicon 后,我使用 PerlMagick 的 ping 函数来确定我正在处理的文件类型(因此我不依赖图标的服务器来准确报告):
当文件是 ICO 文件时,$format
返回为空(我请求它的服务器将其报告为image/x-icon
)。我还有一个小子程序,可以为我下载的所有内容创建 JPEG 缩略图。它适用于非 ICO 文件,但 ImageMagick 在从 ICO 转换时会创建一个空白文件:
我是否需要以某种方式诱使 ImageMagick 识别该文件?我一直在保存我下载的网站图标,并且初始文件是有效的 ICO,即使 ImageMagick 无法识别它。
更新:这是一个正在运行的 ico 文件的链接。但是,我尝试过的所有 ico 文件都已生效。
如果我尝试使用命令行 ImageMagickconvert
工具,结果如下:
perl - 在 Windows Strawberry Perl 上安装 imagemagick perlmagick
最近有没有人用最新版本的草莓 perl 在 Windows 上安装 imagemagick/perlmagick 有任何成功?我已经阅读并尝试了许多我在网上找到的建议,但是没有一个是最近的,也没有一个对我有用。我也将所有 imagemagick 文件夹添加到路径中。使用 imagemagick 安装找到正确的文件似乎存在问题。我尝试将目录添加到make文件中,但仍然总是出错
版本:perl 5.30.2x64-multi-thread、ImageMagick-7.0.10-31-Q8-x64-dll、Windows server 2019。感谢您提供任何帮助或指导。
cairo - 如何通过 Image Magick 在 Cairo Graphics 中包含图像?
我想使用 Cairo Graphics 在 pdf 文档中包含内存中的图像(运输标签)。
为了减少对输入特征的依赖,我决定使用 perlMagick 检测和设置图像属性。
我设法根据需要定位和缩放所有元素,但包含的图像是一个乱码像素的矩形。
我假设我需要设置或更改一个附加属性,但我不知道是什么。
这是我的代码:
源图像是有效的(我在我的项目中建立了一个下载选项)。
在我从中获取标签的外部源中,我可以选择具有各种 dpi 的 gif、jpg 和 zpl。
在(跳过ImageMagick)中使用$sourceImage
(jpg)create_for_data
给了我类似的结果(不同模式的乱码像素)。
更新
在某处读到它可能来自标题后,我尝试使用depth
和灰度,如问题how-do-i-write-a-perl-script-to-use-curl-to-process-a-url using the谷歌的标志:
这适用于 Google 的 png :) 不幸的是,我的 jpg 仍然一团糟。
更新
我确实得到了正确的颜色,但是图像仍然混乱(歪斜):
虽然我使用的是 RGB,但似乎有一个偏移,在光学上将所有后续行移动了一点: Google image was skewed
更新
我没有让这个工作:图像一直被歪曲。我决定采取不同的路线:使用wkhtmltopdf
perl - 如何使用 PerlMagick 在图像上“羽化”边缘
我有一个图像 (JPEG),我想无缝地叠加在另一个图像上。如果我试图在 Photoshop 中这样做,我会羽化边缘。但我无法弄清楚如何使用 PerlMagick api 来实现这一点。我曾尝试使用 Vignette 创建模糊边框,但这并不像我希望的那样工作。
perl - 直接操作 PNG 颜色图
我正在开展一个项目,将打包成专有容器格式的图像转换为单独的 PNG 图像,然后将其重新打包成更灵活的容器格式。一个比较奇怪的限制是颜色表条目的顺序对于最终应用程序的正确操作至关重要(某些图像的调色板取决于当前显示的其他图像的调色板)。
有什么方法可以直接操作 PNG 的颜色图,最好是在 Perl 中?我正在使用 PerlMagick 逐像素生成 PNG 文件。如果更直接地描述我在做什么对我有帮助,请告诉我。
(由于马克的建议,对此进行了扩展)
屏幕首先填充了背景元素,如装饰框和罗盘玫瑰。罗盘的一部分会亮起,以指示玩家可以去哪个方向。这些亮起的部分是单独的图像,它们从背景元素图像的颜色图中的特定插槽中获取颜色提示。因此,背景元素的颜色图的内容和顺序至关重要。
(甚至更多扩展)
我会准确地列出我现在正在做的事情。最初的容器格式是 Infocom 在 1980 年代后期为其图形文本冒险创建的。对于每个图形游戏,制作了三个图形文件,一个用于 CGA、EGA 和 MCGA。一些 EGA 图形文件分布在两个容器中。为了在现代 Z 机器解释器上播放,格式被逆向工程,其中的图形被转换为 PNG 并重新打包到 Blorb 容器中(https://www.eblong.com/zarf/blorb/)。第 11.3 节讨论了颜色变化的行为。只是 MCGA 包是这样重新包装的。我想为 CGA 和 EGA 包创建包。不幸的是,我无法联系准备这些 Blorb 文件以获取有关此颜色图问题的信息的人。Infocom 格式的逆向工程似乎丢失了。所以我使用了现有的工具,主要pix2gif.c
来自 Ztools ( http://ifarchive.org/indexes/if-archive/infocom/tools/ztools/ ) 并将其翻译成 Perl 以便更好地理解它。通过这个 Perl 程序,我设法提取了 EGA 和 CGA 数据。我修改了自己的工具 ( https://gitlab.com/DavidGriffith/blorbtools ) 以支持这些游戏的特殊要求。
从针对 MCGA 的图形开始,我无法复制使用此处提供的较旧 Blorb 文件玩游戏的外观:http: //ifarchive.org/indexes/if-archive/infocom/media/blorb . 调色板不断变化的图像用错误的颜色绘制。EGA 和 CGA 图形还有其他问题,但与分辨率有关,与此处无关。
这些涉及的具体游戏是Infocom 的游戏“亚瑟”、“幕府将军”、“旅程”和“Zork Zero”。我维护了一个能够玩这些游戏的 Z 机器解释器,可以在https://gitlab.com/DavidGriffith/frotz找到。
perl - 如何在 Perl 的 ImageMagick API PerlMagick 中将 svg 转换为 png?
如何将 svg 图像转换为 png、将其保存到文件并收集有关它的基本信息?
当我运行它时,我得到:
(undef) x (undef), (undef) 字节
no errors、notest.png
和 image 尺寸未定义。
如何在 PerlMagick 中将 svg 图像转换为 png?
至于这是否是重复的:大多数其他问题、博客文章和教程都使用命令行 ImageMagickconvert
工具。我想避免这种情况。我目前调用 Inkscape 进行转换,但分析器将这些调用显示为我的代码库中的热点之一。我正在处理约 320 个 svg 文件,转换它们需要约 15 分钟。我希望通过一个库我可以获得更好的性能,因为我不需要创建新进程和编写临时文件。我也在研究Inkscape shell。