通过NSView或Magnify放大和缩小

时间:2012-04-09 04:06:23

标签: objective-c xcode cocoa

我希望能够制作类似于下面显示的通用访问缩放窗口的内容。我已经创建了一个NSView并使用填充操作,我使用一个清晰​​的“透视”复合材料来查看我的窗口并显示桌面。现在我想知道是否可以在我的视图中放大和缩小,如下图所示。我当时认为这可能是一个IkImageView或者我可以应用的东西,但我不确定它是如何完成的。有谁知道如何做到这一点或告诉我在文档中找到这个?有些代码会很棒。谢谢!

enter image description here

2 个答案:

答案 0 :(得分:1)

NSView支持缩放- (void)scaleUnitSquareToSize:(NSSize)newUnitSize

这会缩放视图的内容,因此要使用此功能,您必须将鼠标后面的桌面设置为视图内容(可能是NSImage?),然后缩放视图。拖动鼠标时必须更新。

检查Quartz的ImageKit部分,特别是类IKImageView。它有缩放功能,但我还没有使用它。

答案 1 :(得分:1)

看看Apple的示例 CIAnnotation 。在这个例子中是放大图像,但我认为你可以实现你想要的。您可以从here下载示例代码。

CIAnnotation应用示例:

enter image description here

可以帮助您的参考资料和指南:

Core Image Programming guide
Quartz 2D Programming Guide
NSGraphicsContext Class Reference