image转byte【】出现图片颜色异常
我试图将一个Image转成byte【】然后写入Dicom标准的文件,可是显示出的文件红色调变成了蓝色调,代码如下:
class ImageToByteArrayConverter
{
private ushort _width;
private ushort _height;
public byte[] ToByteArray(String Path)
{
Image img = Image.FromFile(Path);
Bitmap bmp = new Bitmap(img);
_height =(ushort) bmp.Height;
_width = (ushort) bmp.Width;
BitmapData bitmapData = bmp.LockBits(new Rectangle(new Point(0, 0), img.Size), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
byte[] BGRValues = new byte[bitmapData.Stride * bitmapData.Height];
IntPtr Ptr = bitmapData.Scan0;
System.Runtime.InteropServices.Marshal.Copy(Ptr, BGRValues, 0, BGRValues.Length);
bmp.UnlockBits(bitmapData);
return BGRValues;
}
public ushort BmpWidth
{
get
{
return _width;
}
}
public ushort BmpHeight
{
get
{
return _height;
}
}
}
希望各位大侠帮个忙,先谢了。