Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/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
C# 在C中使用外部应用程序打开图像对象_C#_System.drawing_System.diagnostics - Fatal编程技术网

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

C# 在C中使用外部应用程序打开图像对象,c#,system.drawing,system.diagnostics,C#,System.drawing,System.diagnostics,这是我关于堆栈溢出的第一篇文章,请耐心听我说。这是我的问题。我从数据库中以字节数组的形式加载图像,并将其存储为名为myImage的图像对象。 这很好,我知道我的映像加载正确,因为当我将它保存到磁盘时,我可以毫无问题地打开它。但是,在我的应用程序中,我不需要保存它,而是 将其发送到外部应用程序(如Windows Image Viewer)以显示。这是我到目前为止的一个片段: using System.Diagnostics; using System.Drawing; // Image that

这是我关于堆栈溢出的第一篇文章,请耐心听我说。这是我的问题。我从数据库中以字节数组的形式加载图像,并将其存储为名为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而不是磁盘上的映像?这可能吗?谢谢你的时间和帮助。非常感谢。

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


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

我从未听说过传递一块数据来启动pic查看应用程序。如果无法通过命令行启动方法传递那么多数据,我建议您找到一个变通解决方案。@JXITC我知道这听起来很奇怪,但我希望有人知道一个变通解决方案,或者至少确认确实不可能做到这一点。您可能想了解进程间通信:@Gabriel GM Hmm,看起来很有希望。谢谢,我会马上看一看。我意识到我不能使用StartInfo.Arguments来加载二进制数据。这就是我寻找其他方法的原因,如果它们存在的话。@statuskwo5但是你不受fiew.exe将接受什么作为参数的摆布吗?这是真的。当我使用上面显示的StartInfo.Arguments测试它时,它正确地打开了图像。但是,如果可以将整个图像对象发送到它来打开,那就太好了,但是我也不知道如何做,或者是否可以使用不同的技术。@statuskwo5您可以通过将图像放在剪贴板上,然后使用sendkey操作另一个程序来粘贴它,但我非常怀疑这是一件值得追求的好事。谢谢。我也要试试。