Я немного смущен различиями в системе координат между UIKit и Core Graphics. В документации Apple отмечается, что UIKit использует ULO (верхнее левое начало), в то время как Core Graphics использует LLO (нижнее левое начало).core graphics system system origin confustion
Однако, как было отмечено в a post about coordinate systems, следует отметить, что UIKit
услужливо щелкает систему координат перед вызовом -drawRect:
Когда я рисую прямоугольник в точке (0,0), он действительно находится в верхнем левом углу, так что все кажется перевернутым. Однако, когда я рисую изображение с помощью CGContextDrawImage(), он все равно переворачивается. Я понимаю, что я могу просто использовать drawAtPoint(), чтобы избежать перевернутого изображения, но мне просто интересно узнать о системе координат: если он перевернут UIKit, почему изображение все еще перевернуто, если оно втянуто в перевернутый контекст? Кроме того, есть ли способ получить неустановленную систему координат? То есть, есть ли способ создать CGContext без прохождения UIKit?
Спасибо!
Вы в основном правы на первой части. Для второй части «CGBitmapContextCreate» доступен с iOS 2.0 и до сих пор работает. –