Keep Aspect Ratio 계산하는 과정
2019, Mar 25
현재 영상 프레임의 ratio 를 구한다.
- frame_ratio = frame.width() / frame.height()
뷰어 프레임 ratio 로 나눈다.
screen_frame_ratio = frame_ratio / ratio(= 셀 가로 길이 / 셀 세로 길이)
frame_ratio 와 ratio 같으면
- image_rect 그대로 그린다.
frame_ratio 가 더 크면( 옆으로 더 길쭉하면 )
- UI 너비를 모두 이용한다.
- 새로운 높이를 구한다.
가로 길이가 줄어든 % 만큼 세로 길이를 줄인다.이 수치가 1 / screen_frame_ratio따라서, new_height = height / screen_frame_ratio- frame_ratio 만큼 높이를 변화시킨다.
- 따라서, new_height = ui_height / frame_ratio
- 그릴 image_rect 을 계산한다.
frame_ratio 가 더 작으면( 위아래로 더 길쭉하면 )
- UI 높이를 모두 이용한다.
- 새로운 너비를 구한다.
세로길이가 줄어든 % 만큼 가로 길이를 줄인다.이 수치가 screen_frame_ratio따라서, new_width = width * screen_frame_ratio- frame_ratio 만큼 너비를 변화시킨다.
- 따라서, new_width = ui_width * frame_ratio
- 그릴 image_rect 을 계산한다.