매크로

조회 수 473 추천 0 댓글 0

OSD는 On Screen Display의 약자로 디스플레이 위에 글자를 띄우는 것을 의미합니다

아래 사진처럼 화면에 흰색 글씨로 띄우는 것이 바로 OSD입니다


Osd에 대한 이미지 검색결과

-이미지 출처 구글 이미지


OSD를 오토핫키로 구현하는 원리는 다음과 같습니다

1. GUI를 이용하여 원하는 텍스트를 띄운다

2. GUI 배경색을 투명화


예시코드를 만들어봤습니다


;배경색코드

CustomColor = FFFFFF

;-Caption +ToolWindow 옵션을 통해 글자와 배경이외에 전부 제거

Gui +LastFound +AlwaysOnTop -Caption +ToolWindow

;첫째줄에 설정한 색으로 GUI 배경색 설정

Gui, Color, %CustomColor%

;폰트설정

Gui, Font, s18 bold, 굴림     

;글자입력

Gui, Add, Text, ,OSD Test Message

;OSD 위치설정

xPos := A_ScreenWidth / 2

yPos := A_ScreenHeight / 2

Gui, Show, x%xPos% y%yPos% AutoSize NoActivate, OSD 

;GUI를 투명화(0에 가까울수록 투명해짐)

WinSet, Trans, 255, OSD

;배경색을 투명하게 만듦

WinSet, TransColor, %CustomColor% 250

;GUI 클릭이 불가능하게 설정 

WinSet, exstyle, +0x20, OSD




주의할 점은 위 코드처럼 배경색과 글자색의 갭이 클 경우 아래처럼 배경색의 흔적이 남을 수 있습니다


5zV7ho4.png

따라서 배경색을 가능한한 글자색과 갭이 적도록 설정하는 것이 중요합니다

위 코드의 경우 글자색이 검정색이므로 000001 정도로 설정하면 좋겠네요




List of Articles
분류 제목 글쓴이 최근변경 추천
정보 [라이브러리] EasyINI 네이티브 ini 3 예지력1 2016.02.09 2/0
정보 [Lib] Class MsgBox, 메시지박스 확장 4 예지력1 2015.11.27 2/0
정보 [AHK, C#?] PostMessage를 이용해 마우스 드래그 구현... 2 Windhelm 2017.06.26 0/0
정보 X부터Y까지의 모든 값을 랜덤으로 입력해주는 함수 4 sudeky 2016.12.25 0/0
정보 title 이 없는 프로세스 id 값 따기 압살맨블로그 2022.12.14 0/0
정보 SMTP 메일보내기 13 모바게 2020.08.10 2/0
정보 SciTE4AutoHotkey 프로그램 2개 실행하기 1 치우지 2019.09.25 0/0
정보 postmessage 질문이 와서 올립니다. (중복가능성) 12 생물 2015.01.01 2/0
정보 pixelGetColor 오차범위 만들기(10진수변환) 9 갈리토스 2022.07.21 0/0
정보 pixelcolor 사용법을 알았습니다. 9 으뜸어린이 2017.09.10 0/0
정보 perl을 이용한 adb capture 방법 Allyce 2017.06.02 1/0
정보 OSD정의 및 오토핫키에서의 구현 Allyce 2017.06.08 0/0
정보 MS오피스 스타일 GUI 프로토타입 6 예지력1 2016.04.16 4/0
정보 MsgBox 설정 3 괴리사 2016.06.08 2/0
정보 Menu bar 근접하게 만들어봄 4 fnwj 2017.11.26 0/0
정보 List에 해당하는 GUI 팁 9 외치기 2015.08.24 2/0
정보 ListBox로 로그창을 만들어보자! 고음l 2017.11.18 1/0
정보 INI 를 쉽게 사용해봅시다. 11 모바게 2017.11.01 3/0
정보 g라벨? v라벨? 설명좀해주세요 5 이리오리오 2016.10.25 0/0
정보 Gui- dropdownlist 사용하기 기초내용 (모르시는 분만 ... 3 으뜸어린이 2017.09.07 1/0
Board Pagination Prev 1 23456 7 Next
/ 7

전체 최신 인기글

전체 주간 인기글