0

我正在尝试为我的 Cocoa(Mac,而不是 iOS)应用程序创建自定义颜色选择器,但遇到了一些麻烦。我对计算机图形和绘图的各种模式已经足够熟悉了,但我是 Cocoa 的新手,我认为问题基本上是在其多层图形技术中迷失方向。

我正在尝试实现的是一个颜色选择器,它停靠在一个更大的侧边栏视图中,所以我认为最好自己绘制它而不是使用标准浮动面板。(我有充分的理由;不必提及与 Apple 的 HIG 不同的警告。)在研究检索 NSImage(在本例中为 colorWheel.PNG)上单击的像素颜色的最佳方法时,我发现它是最好的进入核心图形并将图像绘制到我自己的位图上下文中。

......这就是我成功来的原因。我已经成功地创建了上下文,但我不确定从这里去哪里以及这是否是矫枉过正。我想我正在寻找的是对这些类链接在一起的层次结构的可靠解释,以及如何最好地创建我正在寻找的效果。在此应用程序的许多部分中,离屏绘图将很有用,我很想更好地理解它。

提前致谢。

4

1 回答 1

1

快速解决方案:

无需将其绘制到屏幕外。
只需从 NSImage 创建一个 NSBitmapImageRep。
并使用 colorAtX:y: 检索 NSColor。

当然,您只需要创建一次 NSBitmapImageRep。
然后每次用户点击移动鼠标时查找颜色。
在我的应用程序中,这根本不会导致任何性能问题。

使用 NSView 显示 PNG 并检索坐标。

于 2011-02-20T02:30:20.127 回答