Cocoa 如何翻译和缩放NSImage?

Cocoa 如何翻译和缩放NSImage?,cocoa,translate,nsimage,nsimageview,nsaffinetransform,Cocoa,Translate,Nsimage,Nsimageview,Nsaffinetransform,到目前为止,我已经构建了一个应用程序,允许用户将图像拖放到NSImageView上。但是,我希望能够通过简单地单击任何图像并按住鼠标按钮移动其位置来移动这些图像 在设置图像后,如何操作NSImageView进行平移/缩放?可能吗?我读过关于NSAffinetTransform的文章,但这似乎是在创建图像之前移动图像。我已经有了画布上的图像,只想点击并按住图像,然后用鼠标移动它。请帮助任何人 这有两个方面 NSImage是模型对象,您可能希望以不同的方式显示它,保存到磁盘/存档等。如果您希望实际更

到目前为止,我已经构建了一个应用程序,允许用户将图像拖放到NSImageView上。但是,我希望能够通过简单地单击任何图像并按住鼠标按钮移动其位置来移动这些图像


在设置图像后,如何操作NSImageView进行平移/缩放?可能吗?我读过关于NSAffinetTransform的文章,但这似乎是在创建图像之前移动图像。我已经有了画布上的图像,只想点击并按住图像,然后用鼠标移动它。请帮助任何人

这有两个方面

NSImage
是模型对象,您可能希望以不同的方式显示它,保存到磁盘/存档等。如果您希望实际更改模型(缩放、旋转等),这意味着永久性更改,那么您可能需要查看
nsaffinettransform
、石英绘图等

但你可能不是那个意思。相反,您可能对
NSImageView
感兴趣,它是一个视图对象,使用所需的任何显示属性显示
NSImage
模型对象的内容。如果您只想更改图像的显示方式,而不想更改图像中的实际字节,则需要在运行时操作
NSImageView
。您也可以在这里使用
nsaffinettransform
,但这有点不常见(通常是不必要的)

需要注意的关键是
NSImageView
继承自,因此您可以使用它的所有功能。看看某些方法,例如:

-设置帧大小:
-用于更改视图大小,从而更改图像显示比例

-setFrameOrigin:
-用于更改视图位置,从而更改外观图像位置


再次注意,这些与图像本身无关,适用于所有Cocoa视图。你可能想看一本书,让你了解基本知识。(然后您可以做更多有趣的事情,如旋转、动画等)

@ObjectiveC InLearning很高兴能为您提供帮助!