Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- MyTread
- MyThread
- C++
- 실습
- 마이크로소프트
- ListBox
- Tipsware
- 미가공
- 충무창업큐브
- do it c
- SSG
- mfc 실습
- 별찍기 기초
- MFC 예제
- 핵심 요약
- C
- linux
- 정보처리기사
- 별찍기
- tips강좌
- 정처기 독학
- 김성엽
- C언어
- win32
- MFC
- 도움말
- 유료강좌
- mysql
- 포트폴리오
- Time
Archives
- Today
- Total
History
CImage_MFC 복습 1 본문
728x90
반응형
CImage: MFC에서 이미지를 읽을 때 사용하는 클래스.
이미지 위치를 위의 경로에 놓으면 Load 할 때 따로 경로 주소를 안 써도 된다. 만약 다른 경로에 있는 이미지를 읽고 싶으면 path를 따로 적어줘야 한다.
해당 프로젝트 파일의 경로에 읽을 이미지를 가져다 놓으면 Load함수에 파일 이름만 적으면 된다.
m_my_image.Load(L"test.png");
draw함수는 첫 번째 인자로 dc를 넘겨주고 앞에 4개의 인자는 출력 좌표이고 뒤의 4개의 좌표는 원본 이미지의 좌표이다.
즉 원본 좌표를 50,50 ,200,200 이렇게 시작 좌표와 폭과 높이 좌표를 적으면 원본 이미지에서 50,50에서 크기는 150*150 크기를 가진 이미지(A)를 출력하겠다는 뜻을 가지고 있다. 이때 출력 좌표는 *를 할 수 록 확대가 되고 /를 할 수 록 축소되어서 이미지(A)를 출력한다.
m_my_image.Draw(dc, 0, 0);
현재 위의 코드만 적으면 0,0 위치에서 출력하겠다는 뜻이다. 즉 뒤에 인자들이 생략이 되어 있다는 뜻이다.
int w, h;
w = m_my_image.GetWidth();
h = m_my_image.GetHeight();
m_my_image.Draw(dc, 0, 0,w,h);
이렇게 적으면 이미지의 폭과 높이를 알아낼 수 있다. 그래도 출력 화면은 달라질 것이 없다.
int w, h;
w = m_my_image.GetWidth();
h = m_my_image.GetHeight();
m_my_image.Draw(dc, 0, 0,w/2,h/2);
위 코드를 실행하면 아래와 같이 원본 이미지의 폭과 높이가 2배 작아져서 나온다.
m_my_image.Draw(dc, 0, 0,w ,h,50,50,200,200);
이렇게 코드를 바꾸고 실행하면 아래와 같이 원본에서 자른 좌표를 원래 이미지 크기만큼 출력해준다.
AlphaBlend함수
AlphaBlend함수는 이미지를 출력할 때 투명도를 조절하게 해주는 함수이다.
인자는 아래와 같이 dc와 시작 좌표를 넘겨주고 마지막 인자는 0~255 사이의 투명도 값을 주는데 255는 완전 불투명 0은 완전 투명인 상태이다.
m_my_image.AlphaBlend(dc,0,0,128);
728x90
반응형
'MFC > 개인 실습' 카테고리의 다른 글
육각형 퍼즐 만들기-가상 메모리(CImage) (0) | 2022.06.29 |
---|---|
CImage_MFC 복습 2 (0) | 2022.05.21 |
CCheckListBox를 이용한 가격 계산 프로그램 (0) | 2022.02.09 |
ListBox 자료구조 확장 (0) | 2022.02.03 |
서브클래싱을 이용한 버튼 기능 변경하기 (0) | 2022.02.03 |
Comments