2016-04-18 12 views
0

C#でMemoryStreamを操作しようとしています。 イメージをImageにバイト配列とバイト配列に変換します。 このようにイメージをバイト配列に読み込んでそれを変更する

var bytes = File.ReadAllBytes("1.jpg"); 
var ms = new MemoryStream(bytes, true); 
var image = Image.FromStream(ms); 
pictureBox1.Image = image; 

これはうまくいきます(画像を画像ボックスに表示する)。しかし、バイト配列を変更しようとすると、

bytes[0] = 254 

例外の無効なパラメータがスローされます。 バイト配列を変更したり、ストリームにバイトを書き込む方法は? ms.WriteByteは機能しません。ありがとう

+0

「バイト配列を変更する」プロセスをさらに表示してください。それが失敗しているコードです。それは私たちが見る必要があるコードです。 –

答えて

0

JPEG(JPG)は圧縮された画像表現です。それは複雑な構造を持っています、それはバイトマトリックスではありません。最初のバイトを変更すると、無効になる可能性が高くなります。変更内容をimageに適用することをお勧めします。そしてJPEGとして画像を保存します。

関連する問題