Loading [MathJax]/extensions/tex2jax.js

2015-03-13

byte[]に入っているRGB情報からWritableBitmapに変換する方法

byte[]に入っているピクセルのRGB情報からWriteableBitmapに変換する方法を2つ紹介します。個人的には前者がシンプルで好きですが、後者のほうが速いかもしれません(未確認)。

BitmapFrame.Create編
byte[] outputPixel = new byte[Width * Height * 4]; // 4:その画像のBytePerPixel
WriteableBitmap wbmp = new WriteableBitmap(BitmapFrame.Create(BitmapSource.Create(width, height, 96, 96, PixelFormats.Bgr32, null, outputPixel, width * 4)));
Marshal.Copy編
byte[] outputPixel;
WriteableBitmap wbitmap;
wbitmap.Lock();//ロックしないとダメ
Marshal.Copy(outputPixel, 0, _bitmap.BackBuffer, outputPixel.Length);
wbitmap.AddDirtyRect(new Int32Rect(0, 0, width, height));
wbitmap.Unlock();


0 件のコメント:

コメントを投稿