본문 바로가기

TransparentBlt

Visual C++ 2008 MFC Chapter 8 비트맵 및 이미지 처리 - 4 냅다 출력화면부터 보고! #endif //_DEBUG //추가부분 inline void RGBtoGray(COLORREF& rgb) { BYTE byGray = (GetRValue(rgb) *30 + GetGValue(rgb) *59 + GetBValue(rgb) *11) /100; rgb = RGB(byGray,byGray,byGray); } //여기까지 //CSaveGrayDemoView.cpp에 추가하는 코드 //이 코드는 RGB를 흑백화 하는 코드이다. ///////////////////////////////// void CSaveGrayDemoView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을.. 더보기
Visual C++ 2008 MFC Chapter 8 비트맵 및 이미지 처리 - 3 BMP파일이 아닌 다른 이미지 파일을 출력하는 함수에 관한 내용. 1. CImage를 사용하려면 atlImage.h를 인클루드 해야함. 2. 예제에서는 상대경로를 집어넣은지라 기본 경로가 해당 프로젝트가 있는 폴더 이지만 절대경로를 입력해주어도 됨. 3. 이 함수가 지원하는 형식은 BMP, JPEG/JPG, GIF , PNG 등임. ////////////////////////////////////////////////////// 프로젝트명은 ImgOutDemo 흔한SDI문서로 제작하고 Cpp파일의 선언부에 다음 코드를 추가하여 인클루드함. //추가부분 #include //종료 다음으로 흔한 OnPaint를 작성하고 다음과 같이 코딩. // CImgOutDemoView 메시지 처리기 void CImgOut.. 더보기
Visual C++ 2008 MFC Chapter 8 비트맵 및 이미지 처리 - 2 고급 이미지 출력 함수. BitBlt나 StretchBlt 함수를 이용하면 단순하게 범위 지정, 출력만 가능하기때문에 고급! 이미지 출력함수가 필요하다. 뭐가 고급인지는 모르겠지만. 뭐 그냥 기능이 더 추가된 출력함수 라고 보면 될듯.. 고급! 이미지 출력 함수로는 TransparentBlt와 AlphaBlend 가 있다. void CBmpOutDemoView::OnPaint() { CPaintDC dc(this); // device context for painting CDC MemDC; BITMAP bmpInfo; MemDC.CreateCompatibleDC(&dc); CBitmap bmp; CBitmap* pOldBmp = NULL; bmp.LoadBitmap(IDB_Test_Image); bmp... 더보기