Я пытаюсь создать изображение "loupe" для моего приложения, которое можно использовать для проверки изображений с разными уровнями увеличения, и я столкнулся с проблемой дорожного удара. Я использую Quartz для создания моментального снимка CGImageRef
выбранной части экрана, на котором находится мое окно приложения. Проблема в том, что номенклатура, используемая всеми различными технологиями OS X, меня действительно смутила.
Функция, которую я использую, CGDisplayCreateImageForRect(CGDirectDisplayID display, CGRect rect)
. В документации указано, что параметр CGRect rect
- это "прямоугольник, указанный в пространстве отображения", поскольку часть отображаемого изображения копируется в изображение ". Проблема в том, что вывод, который я получаю в консоли, не то, что я ожидал. Я пробовал так много разных преобразований, преобразований, кодовых флип и т.д., Что я на 100% запутался.
Итак, я догадываюсь, что мой вопрос сводится к следующему: имеет ли пространство экрана == пространство устройства == пространство отображения, и как правильно преобразовать его или ее ракурс просмотра (который является настраиваемым окном без полей) (внизу -left origin) в соответствии с координатами отображения (начало слева)?
Если кто-то мог бы установить меня прямо или указать мне в правильном направлении, я был бы всегда благодарен. Спасибо!