달력

12

« 2018/12 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 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
  • 31
  •  
  •  
  •  
  •  
  •  

'SetPixel'에 해당되는 글 2

  1. 2010.05.17 MFC-CImage 클래스
  2. 2010.04.19 API-GraphOut
2010.05.17 01:41

MFC-CImage 클래스 프로그래밍/MFC2010.05.17 01:41






기존의 이미지를 출력하는 방식이 아닌
MFC에서 추가된 CImage를 사용해 보자.


소스 코드 자체가 딱히 어려운 부분은 없다. 마지막에 흑백으로 출력 하는 부분이 있는데,
RGBtoGray라는 부분은 inline으로 선언되 있다.

흑백으로 변경하는 알고리즘은 거의 공식화 되어 있다고 하니 그냥 단순하게 기억해 두자.
CImage에서는 bmp뿐만 아니라 jpg, gif, png등이 있다고 한다.

CImage를 사용하기 위해서는 반드시
#include <atlimage.h> 를 해 주어야 한다.

// 실행 화면

단점은, 이미지에 대해서 모든 픽셀을 변경해서 다시 픽셀을 설정해 주기 때문에, 예제 처럼 WM_PAINT에서 매번 처리하기에는 비효율 적이다.
WM_CREATE나 또는 한번만 불러오게 변경하여, 추가 이미지를 생성하여 그 안에 변경후 저장해 두는 것이 훨씬 나은 구현 방법일 것이다.

'프로그래밍 > MFC' 카테고리의 다른 글

MFC-TextRgn( 게이지에 따른 텍스트 변화 )  (0) 2010.05.19
MFC-CImage( 스크린 샷 찍기 )  (0) 2010.05.17
MFC-CImage 클래스  (0) 2010.05.17
MFC-비트맵 띄우기  (0) 2010.05.16
MFC-가상 버튼 만들기  (0) 2010.05.16
MFC-부채꼴 그리기  (0) 2010.05.16
Posted by 안식의후크
2010.04.19 22:47

API-GraphOut 프로그래밍/API2010.04.19 22:47





출력에 대해 다시 알아보자,

API에서는 기본적으로 간단한 원이나, 네모, 직선에 대해서 제공하는 그리기 함수가 존재하는데,

소스 전체를 일일이 저장한다는게 좀 불필요 하긴 하지만,

추후에 편리함을 위해서 전부다 저장하도록 하자.

SetPixel은 지정한 포인트에 RGB의 점을 찍는 것이고,
Rectangle과 Ellipse 또한 시작점x,y와, 끝점의 x,y를 입력하면, 사각형과, 그 사각형을 내접하는 원을 그리게 된다.
하지만 원을 그리는 부분에서 x,y의 을 기준으로 반지름 만큼의 원을 그리고 싶다면,
Ellipse( hdc, x-r, y-r, x+r, y+r ); 처럼 응용해서 사용 할 수도 있다.
이 예제에서 주의할 점은 MoveToEx와 그 이후에 LineTo이다.
MoveToEx를 하게 되면 CP(윈도우 내부의 커서포인트)를 이동하게 된다.
그리고 LineTo는 Cp에서 LineTo의 x,y 까지 선을 긋는것이다.
그리고 그 선을 그은 후에 Cp를 LineTo의 x,y로 변경해 준다는 것!
즉 여러번의 LineTo를 통해 이어지는 선들이 만들어 지는 것이다.
SetTextAlign를 사용해서 문자를 TA_UPDATECP로 하는 것 또한, CP를 기준으로 문자열을 출력하는 것을 재확인 하기 위해서라고 볼 수 있다.

/출력 화면

'프로그래밍 > API' 카테고리의 다른 글

API-Key입력(1)  (0) 2010.04.21
API-MessageBox  (0) 2010.04.19
API-GraphOut  (0) 2010.04.19
API-DrawText  (0) 2010.04.19
API-TextOut  (0) 2010.04.19
API-창만들기  (0) 2010.04.19
Posted by 안식의후크