2011-09-20 3 views

답변

1

Windows 및 C++의 경우 가장 쉬운 방법은 Gdiplus입니다. 여기에 의사 코드가 있습니다.

Gdiplus::Bitmap* pBmp = new Gdiplus::Bitmap(width, height, pixelformat); 
pBmp->SetPalette(...); // initialize palette for 8bpp formats and less 
pBmp->LockBits(...); // acquire the bitmap buffer 

// copy your binary image data into the buffer 

pBmp->UnlockBits(...); // return the buffer 

pBmp->Save(filename, &clsidBMP, NULL); 

delete pBmp; 

당신은 GDI 플러스 here에 의해 정의 된 픽셀 포맷의 목록을 얻을 수 있습니다.

대부분 필요한 것은 메서드를 정의하는 Image 클래스에서 상속 한 Bitmap 클래스로 정의됩니다.

"저장"방법에 필요한 인코더 clsid는 약간 까다 롭습니다. 그러나이 값을 얻는 방법에 대한 내 게시 here을 참조하십시오.

0
ATL::CImage* image_ = new CImage(); 
image_ -> Create(rect.right - rect.left, rect.bottom - rect.top, 32); 

... 
image_ -> Save(filename); 
delete image_; 

Create()의 매개 변수를 적절하게 변경하십시오.