뭐 DPI가 무엇인가 하는 등의 기초적인 이야기는 안 하고 넘어가기로 하겠습니다


일단 여기서 이야기할 DPI는 윈도우의 DPI에 대한것.






화면을 캡처해서 캡처한 화면을 인식하는 등의 작업이나 캡처한 화면을 바로 저장해주는 캡처 기능들을 만들 때 그 특정 화면의 윈도우 크기를 알아낼 필요가 있는데


자신의 윈도우 크기를 알아내는건 쉽지만 다른 프로세스의 윈도우 크기를 알아내는건 그것보단 조금 복잡하기때문에 이 부분에 대한 설명도 넘어가기로 하고....



왜 여기서 DPI이야기가 나오느냐 하면 DPI에 따라 이미지를 crop할때 쓰이는 값에 가져온 창 크기값을 바로 적용시킬 수는 없다는 이야기이다.


너무 정직하게 '윈도우의 크기를 뽑아냈으니 그대로 집어넣으면 되겠지' 하고 값을 집어넣으면 예상했던것과는 다른 결과물이 나온다 라는 말을 하고 싶은것이다.



보통 윈도우는 96DPI에 설정이 맞추어져있지만 간혹 다르게 설정되어있는 컴퓨터들이 있다. 주로 노트북에서 설정이 되어있는 것 같고 그 외에는 해상도가 지나치게 높으면 설정을 하는것으로 보인다. 이 경우에는 96DPI에서 캡처하던것처럼 스크린을 캡처하게 되면 이상한 영역이 캡처되게된다.


DPI가 다르기때문에 달라진 배수만큼 원래 Point값을 변조해서 사용하면 문제가 해결되는것을 보고 어느정도 이해는 했지만 좀 더 깔끔한 해결법이나 다른 방법이 있으리라고 생각해본다.





지저분하게 잡설을 늘어놓았지만 결국 하고싶은 말은 스크린을 캡처하는 기능을 프로그램에 넣는다고 하면 컴퓨터의 DPI를 알아내는 부분도 고려해야 할 것이다 라는것이다.

+ Recent posts