Hier ist, was ich zu erreichen versuche: Ich arbeite an einem Open-Source-TI-Taschenrechner-Emulator, bei dem ich derzeit versuche, Skins zu unterstützen. Das Skin-Bild ist nur ein NSImageView mit dem Bild, das auf das Skin-Bild gesetzt ist. Ich überschreibe die Methode mouseDown: und erhalte den Mausstandort in den NSImageView-Koordinaten unter Verwendung von convertPointFromBase: mit locationInWindow als Punkt zum Konvertieren.
Dann greife ich auf das zugrunde liegende NSBitmapImageRep des NSImageView mit bestRepresentationForDevice: und einem nil-Argument zu. Schließlich rufe ich _getPixel:_atX:y auf dem NSBitmapImageRep mit point.x und point.y für den Standort auf.
Der Ursprung des NSImageView beginnt jedoch unten links (wie üblich), während die Koordinaten für den NSBitmapImageRep oben links beginnen. Ich kann keinen offensichtlichen Weg finden, um das auszugleichen, sodass das Hit-Testing für Mausklicks nicht ordnungsgemäß funktioniert. Jede Hilfe wird sehr geschätzt.