초간단 MFC 강좌 -비트맵(bitmap,이미지) 불러오기 > MFC Tip

본문 바로가기
사이트 내 전체검색

MFC Tip

초간단 MFC 강좌 -비트맵(bitmap,이미지) 불러오기

페이지 정보

profile_image
작성자 이즈
댓글 0건 조회 3,764회 작성일 10-10-12 07:04

본문

Bitmap 선택한상태에서 Import. 눌러줍니다. 해당bitmap 파일을 선택합니다.

256 칼라 이상이면 경고창이 뜹니다. 편집할일없으면 무시하고 다음으로 진행합니다.비트맵 ID: IDB_BITMAP1 입니다.  이제OnDraw() 로 가서 작업을해볼까요?1.메모리 DC 를 만들어줍니다.    CDC imgDC;

2.CBitmap 클래스 변수를 설정합니다. 

3.화면DC 즉 pDC 와 메모리 CDC를 연결?만들어줍니다.   
imgDC.CreateCompatibleDC(pDC);

4.이제 이미지를 불러와야겠죠? ID가 IDB_BITMAP1 인 비트맵을 bitmap 넣고 있습니다.

5.메모리 CDC 가 비트맵변수를 선택합니다. imgDC.SelectObject(&bitmap);

6. BitBlt() // 이미지 그대로의 크기대로 불러들입니다.
    StretchBlt() // 이미지 크기를 조정할수 있습니다.BitBlt(int x, int y,int nWidth, int nHEIGHT, CDC*pSrcDC, int xSrc, int ySrc, DWORD dwRop);

StretchBlt(int x, int y, int nWidth, int nHeight, CDC *pSrcDC, int xSrc, int ySrc, int nSrcWidth, int nSrcHeight, DWORD dwRop);


인수                                                설명
---------------------------------------------------------------------
x         :                      화면에 출력될 x 좌표
y                   :            화면에 출력될 y 좌표
nWidth            :            이미지 폭
nHeight             :          이미지 높이
pSrcDC                ;       DC 포인터
xSrc                    :       비트맵이 복사되는 좌표 X
ySrc                   :        비트맵이 복사되는 좌표 Y
nSrcWidth        :           복사된는 이미지 폭
nSrcHeight         :         복사되는 이미지 높이
dwRop               :        그래픽연산방법

* 참고로 컴파일시 이미지가 안보일수 있는데 이럴때는 메뉴에 Build -> Rebuild ALL 눌러주세요 그리고 컴파일해보세요 !!
mfc 에서 비트맵 불러오기전에 준비할것이 있습니다.

우선 "파일이름.bmp" 파일이 있어야합니다. 그리고 파일색상이 256색상을 넘지 않아야합니다.  256 색상이상을 사용할시에는경고문을 보게될것입니다.

"The bitmap has been imported correctly, however because it contains more than 256 colors it cannot be loaded in the bitmap editor."
해석하자면
"이 비트맵은 편집기에서 로드할 수 없습니다  256 색 이상 포함되어 있기 때문에 그러나, 제대로 가져왔습니다."

256칼라이상이면 편집기에서 편집을할수 없습니다.외부에서 편집한다음 불러와도 상관없음니다.

자 그럼 시작해볼까요 !! View 클래스에서 OnDraw() 에서 작업을하겠습니다.

우선 "리소스뷰"에서 Insert.. 눌러줍니다.

댓글목록

등록된 댓글이 없습니다.

Total 172건 2 페이지

검색

회원로그인

회원가입

사이트 정보

컴퓨터 정보,윈도우즈,리눅스,포토샵,3ds
맥스,프로그래밍 강좌팁

접속자집계

오늘
300
어제
558
최대
5,287
전체
630,405
Copyright © www.qdata.co.kr All rights reserved.