private unsafe byte[] BmpToBytes_Unsafe(Bitmap bmp)
{
BitmapData bData = bmp.LockBits(new Rectangle(0,0,1000,1000),
ImageLockMode.ReadOnly,
PixelFormat.Format24bppRgb);
// number of bytes in the bitmap
int byteCount = bData.Stride * bmp.Height;
byte[] bmpBytes = new byte[byteCount];
// Copy the locked bytes from memory
Marshal.Copy(bData.Scan0, bmpBytes, 0, byteCount);
Marshal.
// don't forget to unlock the bitmap!!
bmp.UnlockBits(bData);
return bmpBytes;
}
我有一個函數,從上面提到的函數獲取字節,只是顯示它沒有進一步處理。但是我得到了輸出的倒像。有人可以解釋嗎?
快速注意,這種方法是從一個線程調用,只有一個線程正在訪問此方法。你認爲這種方法需要線程安全嗎? – nightWatcher 2011-02-24 07:53:00
@nightWatcher:如果只有一個線程調用該方法,則不需要使線程安全。 – Guffa 2011-02-24 08:50:13