본문 바로가기

김탱 개발자/윈도우프로그래밍

사각영역 잘라내기 (Image Crop)


어떤 이미지를 불러온다는 것은 이미지를 줄이든 확대하든 파일명 or 확장자를 변경하든 뭔가 필요로 인해서 불러온다.

고객 얼굴이미지 or 제품 이미지를 등록해서 관리하는 프로그램에서는 이미지를 DB에 저장하고 다시 보여주기 위해서는

사이즈 조정이 필요하다.


이번에 제품을 등록/관리하는 프로그램에서 추가기능 구현을 위해 이미지를 Open하고 원본 사이즈의 이미지가 뜨면 사각영역을 움직이고 키우고(비율유지)해서 저장하는 기능이다.


몇가지 고려할 사항이 있었는데,

Image Open 시

1. Image가 해상도 보다 클 경우 (Width or Height)

2. Image가 해상도 보다 작지만, Dialog영역이 해상도를 벗어나는 경우


Image Save 시 (원본 저장)

1. 사각영역(200x250)보다 Image가 가로로 길쭉한 경우

2. 사각영역 보다 Image가 세로로 길쭉한 경우


이 부분만 고려한다면 나머지는 사각영역을 어떻게 움직이고 비율대로 키우고 줄이는 일만 남았다.

OnLButtonDown()일 때 사각영역안쪽에 들어왔는지 체크하고, OnMouseMove()에서 Flag에 따라 사각영역을 지웠다가 새로 그리는것을 수행하면 된다. 사각영역 사이즈 조정은 우측 하단의 리사이징포인트를 만들어서 그부분을 잡고 늘렸다 줄였다 하면된다. 그다음 OnLButtonUp()일 때 Flag들을 false 시킴 끝


...작성중.