在C#中使用外部应用程序打开Image对象

时间:2012-01-27 00:29:03

标签: c# system.drawing system.diagnostics

这是我在Stack Overflow上的第一篇文章,请耐心等待。这是我的问题。我将图像作为字节数组从数据库加载并将其存储为名为myImage的Image对象。 这很好,我知道myImage正确加载,因为当我将它保存到磁盘时,我可以毫无问题地打开它。但是,在我的应用程序中,我不需要保存它,而是 将其发送到要显示的外部应用程序(如Windows Image Viewer)。这是我到目前为止的一小部分:

using System.Diagnostics;
using System.Drawing;

// Image that is loaded from the database
Image myImage;

// Fiew is my external image viewing program
Process fiew = new Process();
fiew.StartInfo.FileName = @"C:\Fiew.exe";
fiew.StartInfo.Arguments = @"C:\cube.tif";
fiew.Start();

当然,我可以将myImage保存到临时目录并将其作为start info参数传递。这有效,但对我来说不是一个选择。 因此,如何将myImage替换为启动信息参数,以便将其传递给Fiew.exe而不是磁盘上的映像?这甚至可能吗?感谢您的时间和帮助。非常感谢。

1 个答案:

答案 0 :(得分:0)

StartInfo.Arguments是一个字符串数组,而不是二进制数据。

此外,它还取决于可执行文件将接受的启动参数。有可能,它正在寻找磁盘上某个图像的路径。