1

イメージのコピーをメモリに作成し、これをコンソール プロセスの 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 からは有効な画像ファイルとして STDIN に書き込まれていないようです。

私は非常に初心者なので、ここでグーグルで検索して答えを見つけましたが、これを理解できませんでした.

イメージ ファイルをメモリに読み込み、これをコンソール アプリ (imagemagick など) で STDIN として使用するにはどうすればよいでしょうか。

助けてくれてありがとう!

4

1 に答える 1

2

StreamReader はテキスト リーダーです。おそらく、バイナリ データを stdin ベースストリームに書き込みたいと思うでしょう。これによると:バイナリを標準入力に入れることはできますか?C# .

できるよ:

fs.CopyTo(p.StandardInput.BaseStream)
于 2013-07-05T00:40:22.053 に答える