Уверен ли, что UIGraphicsBeginImageContext использует CGBitmapContextCreate для создания графического контекста?
Есть ли UIGraphicsBeginImageContext
использование CGBitmapContextCreate
создать графический контекст [обновление: я не могу найти его в документации], так что графический контекст точно так же в любом случае? Я также пытался вступить в UIGraphicsBeginImageContext
но отладчик не позволит мне войти в это.
1 ответ
На странице ссылок на функции UIKit документации iOS написано следующее о UIGraphicsBeginImageContext
:
Создает растровый графический контекст и делает его текущим контекстом.
Акцент добавлен. После ссылки на страницу CGContextRef я нахожу это:
Графический контекст содержит параметры рисования и всю специфическую для устройства информацию, необходимую для визуализации краски на странице до места назначения, независимо от того, является ли место назначения окном в приложении, растровым изображением, документом PDF или принтером.
И снова акцент добавлен. Это говорит о том, что (на данный момент) существует 4 вида контекстов Core Graphics, каждый со своими инициализаторами. Единственный вид, который имеет отношение к растровым изображениям, - это CGContextRef на основе растровых изображений, и существует только один документированный способ их создания (ну, технически это происходит в двух версиях). Весьма вероятно, что эта функция используется. я полагаю, что UIGraphicsBeginImageContext
это просто удобный метод. Он просто устанавливает набор параметров по умолчанию для CGBitmapContextCreate (он принимает много параметров) и помещает созданный контекст в графический стек.