【发布时间】:2009-12-17 11:47:45
【问题描述】:
如何将 NSImage 绘制到视图中,使其平铺在一行中(没有绘制不完整的图像,并假设图像高度等于视图的高度)?
【问题讨论】:
标签: objective-c cocoa
如何将 NSImage 绘制到视图中,使其平铺在一行中(没有绘制不完整的图像,并假设图像高度等于视图的高度)?
【问题讨论】:
标签: objective-c cocoa
如果图像与视图大小相同,则不需要平铺,所以我不太明白。
不过,看看 NSDrawThreePartImage。在 10.6 上,如果您想要的只是水平或垂直平铺的单个图像,则可以将 nil 传递给 caps。
另一种选择是使用类似于
的东西[[NSColor colorWithPatternImage:] set];
NSRectFill(rectToBeTiled);
但是如果你这样做,相位和规模可能不是你想要的。颜色绘制在 CG 所谓的“基本空间”中,这有点像在窗口内容视图的坐标系中绘制。所以基本上,如果可以的话,使用 NSDrawThreePartImage。
【讨论】: