UIGraphicsBeginImageContext должен быть осведомлен о Retina? - программирование
Подтвердить что ты не робот

UIGraphicsBeginImageContext должен быть осведомлен о Retina?

Я прочитал несколько сообщений, которые рекомендуют использовать:

UIGraphicsBeginImageContextWithOptions((image.size), NO, 0.0f) 

вместо:

UIGraphicsBeginImageContext(image.size).

Поскольку первый использует шкалу Retina при рисовании, в противном случае вы получаете блочные изображения.

Я немного запутался в том, когда использовать или нет вариант сетчатой ​​шкалы.

Если у меня есть фотография размером 1000x1000 px, и я вызываю UIGraphicsBeginImageContext, передавая эти измерения, я не определяю точно, сколько очков я хочу нарисовать? Это нормально?

Или я должен называть UIGraphicsBeginImageContextWithOptions, проходящий половину размеров (500x500px)? В чем разница?

4b9b3361

Ответ 1

Вы можете получить значение шкалы вашего устройства по следующему методу

[[UIScreen mainScreen] scale]

С помощью этой информации вы можете решить, сколько очков вы хотели бы сделать.

Ответ 2

Вы можете создать контекст изображения следующим образом:

 UIGraphicsBeginImageContextWithOptions(size, false, UIScreen.mainScreen().scale)