본문으로 건너뛰기
홈으로블로그
‹ 블로그

개발기

Per-Monitor Wallpaper 개발기 — 모니터마다 다르게, 사진은 자르지 않게

개발 발행 3분 읽기

#Per-Monitor Wallpaper#개발기#Windows#배경화면

Per-Monitor Wallpaper 프로젝트 보기

Per-Monitor Wallpaper는 Windows에서 여러 모니터에 서로 다른 사진을 지정하고, 화면 비율이 달라도 중요한 부분을 자르지 않게 맞춰 주는 도구입니다. 설치 프로그램 없이 PowerShell로 실행되며, 적용 전에 각 화면의 결과를 미리 볼 수 있습니다.

모니터별 지정은 되지만 결과를 예측하기 어려웠습니다#

Windows에도 모니터마다 다른 배경화면을 고르는 기능은 있습니다. 문제는 사진과 화면의 비율이 다를 때였어요. 채우기를 고르면 위아래나 좌우가 잘리고, 맞춤을 고르면 빈 공간이 생기거나 이미지가 작아집니다. 모니터가 여러 대면 어느 사진이 어느 화면에서 어떻게 보일지 확인하는 일도 번거로워집니다.

그래서 목표를 “배경화면을 지정하는 스크립트”보다 한 단계 좁혀 잡았습니다. 사진의 원본 구도를 지키면서 각 모니터에 어울리는 완성본을 만드는 것, 그리고 적용 전에 그 결과를 보여 주는 것이 핵심이었습니다.

잘라내는 대신 배경을 새로 만들었습니다#

자동 맞춤은 사진과 모니터의 종횡비와 해상도를 함께 비교합니다. 비율 차이가 작고 원본 크기가 충분하면 원본을 그대로 채웁니다. 비율 차이가 크거나 원본을 무리하게 확대해야 한다면 모니터 해상도와 같은 캔버스를 만든 뒤 원본을 흐리고 어둡게 펼쳐 배경으로 사용합니다. 그 위에 온전한 원본을 비율대로 올리기 때문에 빈 공간은 자연스럽게 채워지고 사진의 중심 내용은 사라지지 않습니다.

이 결과물을 각 모니터의 식별자에 연결해 Windows 배경화면 API로 적용합니다. 단순한 늘이기나 중앙 자르기가 아니라, 화면마다 별도의 합성 이미지를 만드는 방식이라 서로 다른 해상도와 방향을 함께 써도 같은 원칙을 유지할 수 있습니다.

설치보다 되돌아오기 쉬운 도구를 골랐습니다#

작은 개인 도구에 무거운 설치 프로그램과 관리자 권한을 요구하고 싶지 않았습니다. 저장소를 내려받아 스크립트를 실행하면 GUI가 열리고, 모니터와 사진을 짝지은 뒤 미리보기에서 확인할 수 있게 했습니다. 이미지 선택과 화면 매핑을 저장해 다음 실행에서도 이어갈 수 있지만, 시스템 전체를 바꾸는 서비스는 남기지 않습니다.

명령줄 사용자는 같은 기능을 스크립트 인자로 실행할 수 있게 해 GUI와 자동화가 한 구현을 공유하도록 했습니다. 공개 뒤에도 특정 PC의 경로나 모니터 이름을 전제로 하지 않도록 구성 값을 분리했습니다.

지금은#

Per-Monitor Wallpaper는 Windows용 무료 오픈소스로 공개되어 있습니다. 모니터별 사진 선택, 실시간 미리보기, 잘림 없는 자동 맞춤을 한 흐름에서 사용할 수 있습니다. 배경화면처럼 사소해 보이는 기능도 매일 보는 화면을 바꾸는 만큼, 앞으로도 원본을 존중하고 결과를 먼저 확인할 수 있는 도구로 다듬겠습니다.

이런 프로젝트, 같이 만들어볼까요?

웹 서비스 · 도구 · 자동화 의뢰를 받고 있어요.

문의 보내기