首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让NSImage自动扩展到NSImageView?

如何让NSImage自动扩展到NSImageView?
EN

Stack Overflow用户
提问于 2013-02-05 16:38:22
回答 1查看 649关注 0票数 1

我正在尝试实现一个由draw方法绘制的编程图像,该方法能够在任何分辨率下绘制完美的图像。考虑一个编程式纹理,它可以调整大小以填充任何区域,而不需要拉伸或插值。

为此,我创建了一个实现绘图代码的自定义NSImageRep。此方法中的代码可以访问图像表示的大小,因此它可以针对每个大小重新绘制自身。为了显示图像,我将这个NSImageRep赋值给一个NSImage,然后将它传递给一个NSImageView

现在的问题是NSImage不会调整大小。我的意思是,它会拉伸和插值以填充NSImageView,但是NSImage的大小不会改变,因此它的NSImageRep绘制代码总是按照最初创建NSImage时的大小绘制。我可以更改NSImage的大小,它将

换句话说,我已经成功地实现了一个NSImage,它可以在任何大小下正确地绘制自己(不需要插值)。所以我的问题是,如何让NSImage自动调整自身大小,使其与所放入的NSImageView的大小相匹配?

理想情况下,我希望将其作为NSImage上的一个类别来实现,但我不确定如何继续。

注意:我知道这听起来像是我只是想实现一个自定义的NSView,但大局是我试图复制iOS的UIImage中的resizableImageWithCapInsets:方法,并为OS X的NSImage创建一个实现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-12 20:19:35

忘了NSImageRep

您想要使用的只是NSImage

代码语言:javascript
复制
+ (id)imageWithSize:(NSSize)size flipped:(BOOL)drawingHandlerShouldBeCalledWithFlippedContext drawingHandler:(BOOL (^)(NSRect dstRect))drawingHandler

这将使您能够做您想做的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14703188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档