[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이 출력되었다. 사진이 매우 작지만 ㅎㅎㅎ 참고가 되면 좋겠다.
뒷배경에 내가 원하는 갈색으로 잘 나왔다.
'공부 > C, C++' 카테고리의 다른 글
게임 개발에서 i++이 아니라 ++i를 사용하는 이유 (0) | 2023.11.02 |
---|---|
[c++기초] #include <iostream> 헤더파일을 알고 싶었다. (0) | 2023.05.09 |
[C++] 싱글톤 패턴(2) - 데이터 영역에 객체 생성 방식 (0) | 2022.09.08 |
[C++] 싱글톤 패턴(1) - 동적 할당 방식 (0) | 2022.09.08 |
[C/C++] Class (3) - 레퍼런스 변수 (0) | 2022.03.22 |
댓글