私は画像を操作しようとしていますが、ビットマップと画像に関してはかなり新しいので、質問とコードについてはほとんど説明していません。Bgr24ピクセルデータを保持するようにバイト配列を初期化して、BitmapSourceオブジェクトに渡すことができるようにします。しかし、私のピクセル配列は「私が思う」正しいサイズではありません。
コードの最後の行は、実際には私の問題です。パラメーター「pixels」は、「System.ArgumentExceptionが未処理でした。値が期待される範囲内にありません。」というエラーをスローします。
これらの変数を初期化します
int imageSize = 100;
double dpi = 96;
int width = 128;
int height = 128;
byte[] pixels = new byte[width * height * 3];
//Create my image....
for (int i = 0; i < imageSize; i++)
{
for (int j = 0; j < imageSize; j++)
{
int ct = myImage[i, j];
pixels[i * imageSize * 3 + j + 0] = (byte)((ct % 16) * 14);
pixels[i * imageSize * 3 + j + 1] = (byte)((ct % 32) * 7);
pixels[i * imageSize * 3 + j + 2] = (byte)((ct % 128) * 2);
}
}//end for
//Create the bitmap
BitmapSource bmpSource = BitmapSource.Create(width, height, dpi, dpi, PixelFormats.Bgr24, null, pixels, width);
ピクセル配列を正しく設定していないことを理解しています。何かご意見は?