본문 바로가기

무작정 따라해보기(정리, 문제풀기)/Win32API

14. [WIN32 API 프로그래밍] 문자, 점 출력(그래픽)

728x90

 

'나우캠퍼스X아워즈팜'유튜브의 'Win32 API 4강. 그래픽 (2/3)'영상을 보고 정리한 내용입니다.

 

문자 출력 위한 함수

  • TextOut(HDC hdc, int nXStart, int nYStart, LPCTSTR lpString, int cbString);
  • 윈도우에서 TextOut으로 출력하기 위해서는 모두 문자열로 출력을 해야 한다.
  • cbString는 strlen()함수를 이용해서 문자열의 길이를 받는다.
  • sprintf() 함수를 이용하여서 메모리에 출력을 한다.(char타입). sprintf()함수는 char형 배열 안에 문자열로 만들어서 넣어주는 함수이다.

 

색상 관련 

  • 컴퓨터는 색상을 값으로 다루며 색상 범위는 0~ 255이다.
  • 윈도우즈 프로그래밍에서는 DWORD로 다룬다.(unsigned long): 4yte를 이용하여 8비트씩 r, g, b, 투명까지 값을 조절할 수 있다.
  • COLORLEF는 DWORD를 재정의 한 데이터형이며 r, g, b의 값을 DWORD값으로 반환해준다.
  • RGB() 함수는 r, g, b 값을 받으며 DWORD값으로 반환해준다.
  • GetRValue, GetGValue, GetBValue함수로 각 색의 값을 가져올 수 있다.

 

점 출력

  • 점 출력 함수는 SetPixel()입니다.
  • SetPixel(HDC hdc, int X, int Y, COLORREF crColor);
  • GetPixel()함수를 통해서 클라이언트 영역 전체, 즉 화면 DC에 있는 픽셀(점)의 색상 값을 가져온다.

 

혹시 제가 잘못 이해한 부분이(잘못된 정보) 있다면 알려주시면 감사하겠습니다. :)