在.Net中使用命令行中的ImageMagick?

时间:2010-09-28 08:52:14

标签: image-processing image-manipulation imagemagick

我在.Net中使用命令行中的 ImageMagick ?虽然.Net包装器(codeplex中的 ImageMagick.Net )可用,但它仍处于alpha状态,并且没有针对所有命令行选项的实现,例如 Distort 蒙太奇即可。因此,我使用 System.Diagnostics.Process 类来调用 ImageMagick 命令行。

这种方法的优点/消费者是什么?如果我必须在同一个图像上执行多次转换,并且如果我调用该命令两次,那么我可以看到性能问题,然后命令行将加载Image两次。有没有办法可以链接命令,以便将第一个转换的输出输入第二个命令?

1 个答案:

答案 0 :(得分:1)

它肯定会变慢,当你链接命令时,你将不必要地将图像编码和解码成一种格式 - 如果这样做,请确保使用像PNG这样的无损格式用于中间格式。为了加快速度,请使用不压缩的。

另外两个选择

  1. 使用ImageMagick.NET,然后自己从imagemagick中包装你需要的任何东西,可能是通过为项目做贡献

  2. 我的公司Atalasoft有一个免费的.NET成像SDK,与ImageMagick有很多重叠。你可以在这里下载:http://atalasoft.com/photofree - 蒙太奇与我们的叠加命令基本相同,而扭曲则是2D转换,它们都包括在内。如果ImageMagick.NET可以接受并生成.NET Bitmap对象,那么您可以相当容易地使用它们。