2009-07-23 18 views
0

我有一个ScrollView中的NSView,我试图在它中绘制图像。问题是我想让图像的左上角锁定在框架的左上角,而不是左下角,这是View要我做的事情。我需要能够放大和缩小,并旋转。什么是在Mac的左上角绘制图像的正确方法?

目前,我有一个系统的kludge,我计算了基于图像大小和窗口大小来转换图像的程度。为了做到这一点,我需要在滚动视图之外创建一个额外的视图,以便我可以获得窗口的大小,而不包括装饰。然后,我可以根据图像的大小和窗口的大小计算视图的大小,并根据THAT,我可以找出图像翻译的位置。

我唯一的一个想法是使用isFlipped:方法,但最终颠倒了我的图像L-R,这很糟糕。

有没有另一种方法我应该这样做?

回答

1

如果您想0,0位于左上角,那么覆盖-isFlipped即可返回YES即可。它不应该影响任何子视图的坐标系(我认为!),但直接绘制到翻转视图中的图像将颠倒显示,除非您对它们应用变换。

View Programming Guide for Cocoa: View Geometry

+0

是的,正如我所说的这翻转图像。 180度旋转不起作用,因为图像反转。而NSAffineTransform似乎没有“翻转”转换。 – 2009-07-23 19:00:07

相关问题