Вот что я пытаюсь сделать: я работаю над эмулятором TI-калькулятора с открытым исходным кодом, где в настоящее время пытаюсь добавить поддержку скинов. Изображение скина - это просто NSImageView с его изображением, установленным на изображение скина. Я переопределяю mouseDown: метод и получаю местоположение мыши в координатах NSImageView, используя convertPointFromBase: с возвращаемым значением locationInWindow в качестве точки для преобразования.
Затем я получаю базовый NSBitmapImageRep из NSImageView, используя bestRepresentationForDevice: с нулевым аргументом. Наконец, я вызываю getPixel: atX: y для NSBitmapImageRep с point.x и point.y для местоположения.
Однако начало NSImageView начинается в левом нижнем углу (как обычно), тогда как координаты для NSBitmapImageRep начинаются в левом верхнем углу. Кажется, я не могу найти очевидный способ компенсировать это, поэтому проверка нажатия на нажатия кнопок не работает должным образом. Любая помощь с благодарностью.