C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■100272 / )  カラービットマップの描画について
□投稿者/ まさお (1回)-(2022/07/14(Thu) 14:27:54)

分類:[C#] 

幅が4の倍数ではない201×100(仮)のイメージデータ(カラー)の描画をしたいのですがうまくいきません。
現在、下記のようにやっていますがMarshal.Copyのところでエラーになってしまいます。
(エラー:'保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。')
イメージデータを200×100にして下記引数の201を200にすると期待する描画ができます。

Bitmap bitmap = new Bitmap(201, 100, 204, PixelFormat.Format24bppRgb, IntPtr.Zero))
BitmapData bitmapData = bitmap.LockBits(
new Rectangle(0, 0, 201, 100),
ImageLockMode.WriteOnly,
PixelFormat.Format24bppRgb);
Marshal.Copy(scan0, 0, bitmapData.Scan0, scan0.Length); // ここでエラー

どこが悪いのかご存知のかいらっしゃいませんか?
よろしくお願いします。




返信 編集キー/


管理者用

- Child Tree -