问题标签 [magickwand]

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 投票
2 回答
1997 浏览

imagemagick - 如何在 MagickWand 中设置透明像素的背景颜色?

使用 MagickWand API 从 PNG 转换为 JPG 时,如何将透明像素的背景设置为白色?

0 投票
2 回答
1576 浏览

php - 使用 PHP magickwan 进行 PNG 压缩

我想知道如何正确压缩PNG图像。

情况是这样的:

我在 Windows 上使用 Irfanview 压缩和减少了 PNG 图像。大约 20KB。当我的门户软件使用默认值调整大小(使用magickwand 1.0.7)时,它大约为63K(!)。

接下来尝试调用 MagickSetImageDepth($this->_imageHandler,8),生成 34K 的文件大小,这更好,但仍然比(更大尺寸的)原始文件大。

记录的功能似乎都不适合进一步压缩图像。

任何提示将不胜感激!

格雷茨,索萨

0 投票
3 回答
1948 浏览

python - PythonMagickWand Shepards 失真(ctypes LP_c_double 问题)

我正在尝试使用PythonMagickWand在图像上使用Shepards失真。您还可以查看ImageMagick 使用的 distort.c 的来源

PythonMagickWand 默认不支持 Shepards 失真。为了解决这个问题,我添加了:

ShepardsDistortion = DistortImageMethod(15)

到 PythonMagickWand 的第 544 行(请参阅此处了解我修改后的 PythonMagicWand)。15 指针引用了MagickWand 源代码的distort.h(第 51 行),其中 ShepardsDistortion 是列表中的第 15 项。这适合所有其他支持的失真方法。

现在,我可能做错的事情是假设 PythonMagickWand 支持的现有失真方法使用与 Shepards 相同类型的参数。他们可能不会,但我不知道我怎么知道。我知道distort.c正在做这项工作,但我无法确定它接受的参数是相同还是不同。

我有以下代码(片段):

我收到以下错误:

MagickDistortImage(wand,ShepardsDistortion, 8, pointsNew, False) ctypes.ArgumentError: argument 4: <type 'exceptions.TypeError'>: expected LP_c_double instance instead of list

我知道 pointsNew 是提供参数的错误方式。但我只是不知道什么是正确的格式。这是在终端中运行时有效的示例扭曲命令:

convert image.jpg -virtual-pixel Black -distort Shepards 121.523809524,317.79638009 141,275 346.158730159,312.628959276 319,275 239.365079365,421.14479638 232,376 158.349206349,483.153846154 165,455 313.015873016,483.153846154 300,455 0,0 0,0 0,571.0 0,571.0 464.0,571.0 464.0,571.0 0,571.0 0,571.0 image_out.jpg

所以我想问题是:如何创建一个将被 PythonMagickWand 接受的 c_doubles 列表?还是我将 Shepards Distortion 添加到 PythonMagickWand 的技巧完全错误?

我基本上需要重新创建终端命令。我已经通过使用 subprocess 从 Python 运行命令来使其工作,但这不是我想要的方式。

0 投票
1 回答
949 浏览

magickwand - PythonMagickWand 将 SVG 转为 PNG

我尝试将 SVG 转换为 PNG。结果图片有一个我需要透明的白色背景。

代码示例:

如果我在命令行中执行:

我有一张透明的图片。

0 投票
1 回答
813 浏览

imagemagick - magickWand -> PNG 转 JPG

使用 MagickWand API 从 PNG 转换为 JPG 时,如何将背景设置为透明像素的指定颜色?我仍然只得到我不想要的白色背景。

我知道有类似的问题,但没有答案 = 如何在 MagickWand 中设置透明像素的背景颜色?

0 投票
1 回答
928 浏览

ruby - 在雪豹上安装 RMagick 时遇到问题

每当我尝试使用 sudo gem install rmagick 安装 rmagick gem 时,当它尝试包含一个名为 wand/MagicWand.h 的头文件时,安装就会失败

日志文件中的确切错误是:

$MAGICK_HOME 环境变量设置为/usr/bin/imagemagick 它正在寻找的头文件位于/usr/bin/imagemagick/include/ImageMagick/wand/MagickWand.h

我试图按照此处找到的说明进行操作。我正在运行 Snow Leopard 的 Intel iMac 上安装它。

0 投票
1 回答
519 浏览

php - PHP MagickWand 真灰度

我正在寻找一种在 PHP 中复制 Photoshop Grayscale/Desaturate 功能的方法,我在服务器上安装了 MagickWand。

我尝试了许多不同的方法(包括迭代像素),但是当我在 Photoshop 中打开修改后的图像时,对比度总是会改变(更亮)。

我认为这可能与未保存嵌入式颜色配置文件有关?

任何人都知道可以通过 PHP 完成的真正灰度?解决方案不必使用 Imagemagick

赞赏

0 投票
1 回答
482 浏览

imagemagick - “-colors”选项的 MagickWand 等价物是什么?

我有几张正在使用 ImageMagick 处理的图像。在这种情况下,我将 RGBA PNG 转换为索引 PNG。如果我使用该convert工具,我可以合理控制索引 PNG 中的颜色数量:

它似乎大大减少了颜色计数(91 < 128)我正在尝试使用 MagickWand 进行相同的转换MagickQuantizeImage(wand, 128, RGBColorspace, tree_depth=1, 0, 0)。该函数的签名是

最终结果是颜色太少的图像(只有 11 种!):

有谁知道如何使用 MagickWand 减少颜色(在此过程中不破坏图像?)

谢谢!

0 投票
2 回答
447 浏览

c - C 的 MagickWand,调用 DestroyPixelWands 时出错

我开始在一个简单的 C 程序中使用 ImageMagick 和 MagickWand API。现在,作为测试,我只是在帧中寻找黑色像素。这是我的代码:

如果我取消注释任何DestroyPixelWands呼叫,我会得到一个断言:

知道为什么会这样吗?

编辑 :

更多调试......即使调用也会DestroyPixelWand(pixels[0]);以同样的方式失败......

0 投票
2 回答
1621 浏览

iphone - iPhone ImageMagick 库 - 使用 MagickWand API 从批处理文件脚本转换为 Objective-C

我决定使用以下 ImageMagick 库进行 iPhone 开发:

https://github.com/marforic/imagemagick_lib_iphone

它工作得很好。示例项目编译得很好,但没有任何意义。

通常,我会使用ImageMagick for Windows 附带的“ convert.exe ”通过命令行转换图像。所以我会写一个像下面这样的小批处理文件:

问题是将上述批处理文件转换为与该特定库一起使用。

问题是status始终是MagickFalse,这意味着它会引发异常。我也不确定我是否ConvertImageCommand()以正确的方式使用。

任何帮助将不胜感激。提前致谢。