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