BitmapData
現在、ビットマップをロックした後に利用可能なを使用して、ビットマップのピクセル データを読み取っています。私が使用している方法は、各色のバイトを個別に読み取るためint
、指定されたポインターで 4 バイトを直接読み取るよりも遅くなります。残念ながら、私のビットマップは 24bpp です。つまり、1 ピクセルあたり 4 バイトではなく 3 バイトです。3 バイトだけをすばやく読み取り、指定さint
れたポインター アドレスにキャストする方法はありますか?
// read pixel color
byte* Pix = (byte*)bmpScan0 + (y * bmpStride) + (x * 3);
byte R = *(Pix + 2);
byte G = *(Pix + 1);
byte B = *(Pix);
int RGB = ((int)R << 16) | ((int)G << 8) | (int)B;