|
|
// CImage 클래스 변수를 생성한다. CImage Image;
// 이미지를 불러 오는데 실패 했을 경우. AfxMessageBox(strtmp); |
2) 화면에 그리기
Image.TransparentBlt( dc.m_hDC, 0, 0, Image.GetWidth(), Image.GetHeight(), RGB(255, 0, 0) ); // color를 gray로 바꾸어 보자. Image.BitBlt( dc.m_hDC, 300, 0 ); |
3) 파일을 선택하기
wchar_t szFilter[] = _T("Image (*.BMP, *.GIF, *.JPG) | *.BMP;*.GIF;*.JPG | All Files(*.*)|*.*||"); CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter); } |
2. 다음은 영상 메모리를 가져와서 영상 처리를 한 후 출력하는 방법이다.
0) 변수 설정
CBitmap *b ; BITMAP c ;BYTE *Orgdata,*ResultData ; HBITMAP hBitmap ; CString s ; CImage png ; |
1) OnInitDialog()에서 초기화 한다.
hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(),"stu03.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE ); b = CBitmap::FromHandle(hBitmap) ; //클래스안에 핸들을 얻어 상태
|
2) OnPaint()
CDC cdc; cdc.CreateCompatibleDC(&dc) ; dc.SetStretchBltMode(COLORONCOLOR); DeleteDC(cdc) ; |
3) 영상 불러오기
if(png.Load("12344.png") !=0) { hBitmap = png.Detach(); //현재객체에서 핸들을 넘긴다. png.Attach(hBitmap); //hBitmap에 png정보를 넣어준다. // HBITMAP 핸들값 // 영상 메모리 데이터 얻기 |
4) 흐리게 영상처리
for(int i=0 ; i<c.bmWidth*c.bmHeight ; i++) { Invalidate(TRUE) ; |
예제 소스:
CImage_Ex.zip
|
|