본문 바로가기
공부/C, C++

[WinAPI] 글자(텍스트) 출력, 글자 색 변경, 글자 배경색 투명하게

by 김샤랑 2022. 11. 18.

[WinAPI] 글자 출력, 글자 배경 투명하게, 글자 색 변경, 


 

1. 글자 출력

글자를 출력하는 방식은 여러 가지가 있지만 이 포스팅에서는 TextOut을 썼다. 

			TextOut(_dc, (int)(vPos.x)+20, (int)(vPos.y) + 20, str, 1);

인자로 TextOut( HDC, x좌표, y좌표, 출력할 문자열에 대한 포인터, 문자열의 길이)이다.

 

BOOL TextOut(HDC, int nXStart, int nYStart, LPCTSTRlpString, int cchString)

 

 

내 코드에서 HDC는 _dc여서 위처럼 적었다. 

자세한 건 TextOut함수 검색해보자.

 

단순히 str에  TEXT("Hi!"), 또는 L"Hi!"을 입력해도 된다. 

 

 


2. 글자 배경 투명

 

기껏 글자를 출력했더니 뒷배경이 흰색이어서 화면의 이미지와 따로 놀 경우가 있다.

기본 배경 색이 하얀색으로 되어있기 때문이다.

글자 뒤를 투명하게 해주자!

사용하는 HDC와 투명 값인 TRANSPARENT를 넣는다.

SetBkMode(_dc, TRANSPARENT); // 뒷배경 투명

3. 글자 색 변경

 

이제 투명하게 글자를 출력할 수 있다! 하지만 또 부족하다... 검은색은 너무 심심하다.

원하는 색으로 변경하자!

HDC, RGB(원하는 색 rgb값)을 넣어준다.

SetTextColor(_dc, RGB(107, 33, 0)); // 글자색 변경

 


실제 코드에서는 다음과 같이 사용했다. 

 

출력했을 때는 다음과 같이 숫자 3이 출력되었다. 사진이 매우 작지만 ㅎㅎㅎ 참고가 되면 좋겠다. 

뒷배경에 내가 원하는 갈색으로 잘 나왔다.

 

댓글