2011-09-14 6 views
0

Mac 및 Win에서 작동하는 GUI 응용 프로그램을 작성 중이며 문제를 해결하는 방법이 하나도 없습니다. 내 응용 프로그램에는 작은 (250 x 250 픽셀) 미리보기 창이 있습니다 ('SW라고 부름) 이미지를 배치했습니다. 이미지는 SW보다 훨씬 클 수 있습니다. 어딘가에 SW 안에 이미지의 줌 기능을 구현하는 슬라이더가 있습니다. 내 주요 문제는이 이미지에 줌 기능을 구현하는 것입니다.미리보기 내의 이미지 확대

  • 소스 이미지와는 폭과 높이입니다; 입력에

    내가 가진

  • 이미지보기 - 원본 이미지의 확대/축소 사본입니다. 확대 된 이미지 뷰포트
  • 크기
  • 위치는 250 × 250 픽셀을 인

해야이 화상 처리 프로그램 등에 크게 작품. 확대/축소 값 이미지를 변경할 때 뷰포트 중심 및 이미지 내부의 위치에 비례하여 이미지가 작아 지거나 커집니다. 뷰포트 내부에서 이미지를 이동할 수 있습니다. 해당 문제를 올바르게 구현하려면 이미지 크기와 위치를 계산해야합니다. 나는 이미 이미지 크기 수정을 구현하는 "algo"를 작성했습니다. 그것은이다 은 다음과 같습니다

float one = (source_original_size - thumbnail_size)/100; 
int bigger_side_size = qRound((100-value) * one) + thumbnail_size; 

하지만 난 그 확대 된 이미지의 장면에 위치를 계산할 수있는 방법을 상상할 수 없다.

아무도 아이디어를 도울 수 있습니까?

중요한 경우 Qt 프레임 워크와 QGraphicsView, QGraphicsSceneQGraphicsPixmapItem을 사용하고 있습니다.

답변

1

Image Viewer Example을 살펴보면 찾고있는 몇 가지 기능이 있습니다.

+0

감사합니다. 그러나 나는 그것을 보았고 매우 간단한 예입니다. 뷰포트 센터와 관련하여 이미지를 확대해야합니다. 그리고 그것은 주된 문제입니다. – fryme