공부/C, C++
[WinAPI] 글자(텍스트) 출력, 글자 색 변경, 글자 배경색 투명하게
김샤랑
2022. 11. 18. 02:17
[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이 출력되었다. 사진이 매우 작지만 ㅎㅎㅎ 참고가 되면 좋겠다.
뒷배경에 내가 원하는 갈색으로 잘 나왔다.