У меня есть некоторый код, который изменяет размеры изображения, чтобы я мог получить масштабированный фрагмент центра изображения - я использую это, чтобы взять UIImage
и вернуть маленькое квадратное представление изображения, подобное тому, что видно в альбомном представлении приложения "Фотографии". (Я знаю, что мог бы использовать UIImageView
и настроить режим кадрирования для достижения тех же результатов, но эти изображения иногда отображаются в UIWebViews
).
Я начал замечать некоторые сбои в этом коде, и я немного озадачен. У меня есть две разные теории, и мне интересно, есть ли одна из них на базе.
Теория 1) Обрезку я получаю, рисуя в контексте закадрового изображения моего целевого размера. Так как я хочу получить центральную часть изображения, я установил аргумент CGRect
, переданный drawInRect
, что-то большее, чем границы моего контекста изображения. Я надеялся, что это было кошерно, но вместо этого я пытаюсь привлечь другое воспоминание, которого я не должен касаться?
Теория 2) Я делаю все это в фоновом потоке. Я знаю, что есть части UIKit, которые ограничены основным потоком. Я предполагал / надеялся, что рисование за пределами экрана не было одним из них. Я не прав?
(Ох, как я скучаю по NSImage's drawInRect:fromRect:operation:fraction:
методу.)