2021. 9. 17. 09:10 자기개발/C++
C++ - 이미지 생성, 주소값으로 전달 후 저장
#define _AFXDLL
#include <afxwin.h>
#include <atlimage.h>
int main(void)
{
int w = 50;
int h = 30;
LPBYTE pBits = nullptr;
pBits = new BYTE[w * h];
for (int i = 0; i < h; i++)
{
for (int j = 0; j < w; j++)
{
pBits[i*w + j] = j;
}
}
CImage image;
image.Create(w,h,8);
RGBQUAD rgbQuad[256];
for (int i = 0; i < 256; i++) {
rgbQuad[i] = { BYTE(i),BYTE(i),BYTE(i),0 };
}
image.SetColorTable(0, 255, rgbQuad);
LPBYTE m_pBits = (LPBYTE)image.GetBits();
for (int i = 0; i < h; i++) {
LPBYTE pRow = m_pBits + (i*image.GetPitch());
memcpy(pRow, pBits + (i*w), w);
}
image.Save(_T("temp1.bmp"));
image.Destroy();
delete[] pBits;
pBits = nullptr;
_CrtDumpMemoryLeaks();
return 0;
}
'자기개발 > C++' 카테고리의 다른 글
C++ - CString Format (0) | 2022.10.13 |
---|---|
C++ - interface (0) | 2021.10.19 |
C++ - inline함수란(feat 매크로함수 + template) (0) | 2021.10.07 |
C++(mfc) - 1채널 이미지를 3채널 이미지로 변환후 사각형그리고 저장 (0) | 2021.09.17 |
C++ - 단순연결리스트 (구조체) (0) | 2021.09.14 |