使用NSImages的setBackgroundColor?

时间:2012-09-08 23:26:24

标签: objective-c cocoa nscolor

我无法理解下面这段代码:

[window setBackgroundColor:[NSColor colorWithPatternImage:[NSImage imageNamed:@"myImage.png"]]];

假设将背景图像设置为NSWindow。但是

  1. 为什么选择setBackgroundColor?
  2. NSColor colorWithPatternImage到底做了什么? NSColor应该只是一种颜色吗?
  3. 我的问题很简单,但令我不安。

    THX

1 个答案:

答案 0 :(得分:1)

Core Graphics具有(类似于PostScript和PDF)的“图案颜色”概念。请参阅“Quartz 2D Programming Guide”中的Patterns

  

模式是一系列重复的绘制操作   绘制到图形上下文。您可以像使用相同的方式使用模式   你使用颜色。

[NSColor colorWithPatternImage:image]创建一个重复绘制图像的模式。因此,在您的情况下,如果图像与窗口大小相同,则只绘制一次。但如果图像小于窗口,则会在x和y方向上重复绘制,以填充窗口背景。