Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 在.Net的命令行中使用ImageMagick?_Image Processing_Image Manipulation_Imagemagick - Fatal编程技术网

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

Image processing 在.Net的命令行中使用ImageMagick?,image-processing,image-manipulation,imagemagick,Image Processing,Image Manipulation,Imagemagick,我正在.Net中使用命令行中的ImageMagick?虽然.Net包装器(codeplex中的ImageMagick.Net)可用,但它仍然是alpha格式,并且没有实现所有命令行选项,例如扭曲,蒙太奇。因此,我使用System.Diagnostics.Process类来调用ImageMagick命令行 这种方法的优点/缺点是什么?如果我必须在同一个映像上执行多个转换,并且如果我调用命令两次,那么命令行将加载映像两次,那么我会看到性能问题。有没有一种方法可以链接命令,以便将第一个转换的输出馈送到

我正在.Net中使用命令行中的ImageMagick?虽然.Net包装器(codeplex中的ImageMagick.Net)可用,但它仍然是alpha格式,并且没有实现所有命令行选项,例如扭曲蒙太奇。因此,我使用System.Diagnostics.Process类来调用ImageMagick命令行


这种方法的优点/缺点是什么?如果我必须在同一个映像上执行多个转换,并且如果我调用命令两次,那么命令行将加载映像两次,那么我会看到性能问题。有没有一种方法可以链接命令,以便将第一个转换的输出馈送到第二个命令?

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

另外两个选择

  • 使用ImageMagick.NET,然后自己包装ImageMagick中需要的任何其他内容,可能是通过对项目的贡献

  • 我的公司Atalasoft有一个免费的.NET imaging SDK,它与ImageMagick有很多重叠。您可以在这里下载:--蒙太奇基本上与我们的叠加命令相同,扭曲是一种二维变换,所有这些都包括在内。如果ImageMagick.NET可以接受并生成.NET位图对象,那么您可以相当轻松地将两者结合使用