0
カラーピッカーを作成したいと思います。だから私はNSReadPixel
を使用すると、ピクセルの色を受け取る良いアプローチになると思った。常にnil
を返しNSReadPixel()は常にnilを返します
class CustomWindowController: NSWindowController {
override func mouseMoved(with event: NSEvent) {
let mouseLocation = NSEvent.mouseLocation()
let pickedColor = NSReadPixel(mouseLocation)
}
}
しかしpickedColor
:だから私は基本的にやったことは、このでした。私が固定小数点(テスト目的のために)を使って "readPixel"にしようとしても、まだnil
を返します。私は何が欠けていますか?私は(それが取るべきであるということの答えからNSBitmapImageRep
/colorAt
アプローチを踏襲し、得られNSColorは(明るく、ほとんどのケースで)少し異なるように思えることに気付きました
EDIT#1
スクリーンショットを見てください)。私はcolorSpacesなどを考慮する必要がありますか? (?とどのように)
EDIT#2
それがうまく手に入れた - bitmap.colorSpaceName = NSDeviceRGBColorSpace
は、トリックを行います。
正常に動作します。どうもありがとうございます! – ixany
私は、得られた色がピックされたピクセルとまったく同じではないことに気付きました(上記の私の編集を参照)。あなたはとても親切で、それを見てください。前もって感謝します! :) – ixany
それをキャリブレーションしよう - 自信を持って異なる色でイメージを作成し、あなたのピッカーで探検してください。あなたの問題を解決するx±1 y±1かもしれません。 –