【发布时间】:2011-06-08 15:39:00
【问题描述】:
我正在尝试使用随 Windows Installer for ImageMagick 提供的 ImageMagickObject COM 组件,它作为 COM 引用导入到我的 C# 项目中。到目前为止,我已经能够使用它将图像从磁盘上的一个文件转换为磁盘上的另一个文件。我试图让它转换内存中的文件并将其返回为字节数组,如库中包含的 ArrayTest.vbs 文件所示。以前有没有人成功地做到过?严重缺乏此功能的文档...
我的代码:
MagickImageClass _magic = new MagickImageClass();
object[] myarray = new object[1];
myarray[0] = "JPEG:";
object[] args = new object[] { tbFilename.Text, "-colorspace", "cmyk", "-resize", "50%", myarray };
var result = _magic.Convert(ref args);
他们来自 ArrayTest.vbs 的样本:
Dim img
Dim myarray(1)
Set img = CreateObject("ImageMagickObject.MagickImage.1")
myarray(0)="8BIM:"
msgs = img.Convert("null:","-profile","8BIMTEXT:iptctext.txt",myarray)
如果您不熟悉 ImageMagick,“null:”是一个指定空图像的内置类型。 “-profile”和“8BIM:iptctext.txt”是传递给转换调用的命令行参数,我的数组本质上是输出。在他们的示例中, myarray 以新转换图像的字节数组结束。在我的代码中, myarray 没有改变。救命!!
【问题讨论】:
-
输出似乎是结果变量,而不是 myarray。结果的内容是什么?
标签: c# .net com imagemagick