파일 스트림으로 비트 맵을 생성해야합니다. 지금까지 나는이 코드를 가지고있다 :파일 스트림으로 비트 맵을 생성하십시오.
using (FileStream bmp = File.Create(@"C:\test.bmp"))
{
BinaryWriter writer = new BinaryWriter(bmp);
int i = 0;
// writer.Write((char*)&fileheader, sizeof(fileheader));
// writer.Write((char*)&infoheader, sizeof(infoheader));
for (int rows = 0; rows < 160; rows++)
{
for (int cols = 0; cols < 112; cols++)
{
writer.Write(CamData[i]);
i++;
}
}
bmp.Close();
}
그러나 여전히 비트 맵을위한 헤더 정보가 필요하다. 내 문제는, 그 C#에서 그들을 구현하는 방법을 몰라. 나는 해상도 (320 x 240)를 알고 있고 픽셀 데이터는 ushort 배열에 주어진 16 비트 그레이 스케일 값이다.
감사
바이트 배열이 없으므로 Bitmap 클래스를 사용할 수 없습니다! USHORT 값이 있습니다. – h0ppel
Bitmap.LockBits()를 사용하고 16bpp 형식을 요구합니다. –
PixelFormat.Format16bppGrayScale을 사용할 때 항상 gdi + 오류가 발생합니다. 다른 pixelformats도 잘 작동합니다. PixelFormat.Format24bppRgb를 사용하면 첫 번째 줄에 3 번 그림이 표시됩니다. [test.bmp] [1] [1] : http://i.imgur.com/Cls1e.png – h0ppel