2009-07-23 4 views
0

ScrollView에 NSView가 있는데 이미지를 그려 넣으려고합니다. 문제는 이미지의 왼쪽 위 모서리가 프레임의 왼쪽 위 모서리에 고정되도록하는 것입니다.보기의 왼쪽 하단 모서리 대신보기에서 수행 할 작업이 필요합니다. 확대 및 축소하고 회전 할 수 있어야합니다.Mac의 왼쪽 상단 모서리에 이미지를 그려 넣는 올바른 방법은 무엇입니까?

현재 이미지의 크기와 창 크기를 기반으로 이미지를 변환해야하는 시스템의 양은 얼마입니까? 이렇게하려면 스크롤 뷰 외부에 추가보기를 만들어야하므로 장식을 포함하지 않고 창의 크기를 얻을 수있었습니다. 그런 다음 이미지의 크기와 창의 크기를 기준으로보기의 크기를 계산할 수 있습니다. 그리고 THAT을 기반으로 이미지를 번역 할 위치를 파악할 수 있습니다.

다른 생각은 isFlipped : 메서드를 사용하는 것이지만 내 이미지 L-R을 나쁘게 반전시킵니다.

다른 방법으로이 작업을 수행해야합니까?

답변

1

왼쪽 위 모서리에 0,0이 표시되도록하려면 -isFlipped을 재정 의하여 YES으로 다시 지정하는 것이 좋습니다. 그것은 어떤 하위 뷰 (내가 생각하는!)의 좌표계에 영향을 미치면 안되지만, 반전 된 뷰에 직접 그려진 이미지는 변환을 적용하지 않으면 거꾸로 나타납니다.

View Programming Guide for Cocoa: View Geometry

+0

예, 이미지를 뒤집습니다. 180도 회전하면 이미지가 반전되기 때문에 도움이되지 않습니다. NSAffineTransform에는 "뒤집기"변환이없는 것 같습니다. –

+1

AH, X를 1로 스케일링하고 Y를 -1로하면 플립 변환을하는 것처럼 보입니다! 흥미 진진한! –