繁体   English   中英

图像文件的C#InMemoryCopy作为StandardInput处理

[英]C# InMemoryCopy of Image file as StandardInput for process

我正在尝试在内存中创建图像的副本,并将其用作STDIN进行控制台过程。

创建InMemoryCopy:

using (FileStream fs = File.OpenRead(image))
{
   fs.CopyTo(inMemoryCopy);
}

启动过程并输入STDIN:

p.StartInfo.Arguments = " jpg:fd:0" +
   " -resize 500" +
   " \"" + tmpFile + "\"";

p.Start();
//Reads in pbm file.
using (var streamReader = new StreamReader(inMemoryCopy))
{
  p.StandardInput.Write(streamReader.ReadToEnd());
  p.StandardInput.Flush();
  p.StandardInput.Close();
}

我遇到的问题是imagemagick noww不再将文件识别为图像? 使用的文件是.jpg,但是从streamReader看来,它不是作为有效的Image文件写入STDIN的吗?

由于我是一个非常新手,因此我在这里进行了搜索和搜索,但找不到答案。

如何将图像文件读入内存,并在控制台应用程序(例如imagemagick)中将其用作STDIN。

非常感谢您的帮助!

StreamReader是文本阅读器。 您可能想将二进制数据写入stdin基流。 据此: 我可以将二进制文件放入stdin吗? C#

你可以做:

fs.CopyTo(p.StandardInput.BaseStream)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM