在C#中使用Magick.NET

时间:2015-08-04 22:10:52

标签: c# imagemagick magick.net

我正在尝试使用C#中的Magick.NET实现一项功能。

以前我用过: -

// Convert to a png.
Process p = new Process();

p.StartInfo.FileName = @"C:\Program Files\ImageMagick-6.2.8-Q16\convert.exe";
p.StartInfo.Arguments = "-scale 60% \"" + svg + "\" \"" + png + "\"";
p.StartInfo.CreateNoWindow = true;

p.Start();

p.WaitForExit();

TransmitFile(context, png);

我想不再需要在服务器上存储convert.exe .....现在我想使用代码中的东西并且不需要在服务器上引用可执行文件: -

// Pseudo-code:-
MagickImage img = new MagicImage();
Image.Add(svg);
Image.Format = MagickFormat.png;
Image.Scale = 60%;

但我找不到足够的文档来实现我之前使用的相同功能。有适当文件的地方吗?我搜索了很多,没有成功。

1 个答案:

答案 0 :(得分:4)

有一些如何使用Magick.NET here的例子。

可以找到如何将一个图像转换为另一个图像的示例here。但-scale 60%没有例子。

命令行中的大多数选项在MagickImage类中具有相同的名称。您的命令convert input.svg -scale 60% output.png转换为:

using (MagickImage image = new MagickImage("input.svg"))
{
  image.Scale(new Percentage(60));
  image.Write("output.png");
}