Запись изображения маскированного к диску как файл PNG

В основном я загружаю изображения прочь веб-сервера и затем кэширую их к диску, но прежде чем я сделаю так, я хочу замаскировать их. Я использую код маскирования, на который все, кажется, указывают, в котором может быть найден здесь: http://iosdevelopertips.com/cocoa/how-to-mask-an-image.html

Что происходит, хотя, то, что прекрасные дисплеи изображения, но версия, которая записана в диск с

UIImage *img = [self maskImage:[UIImage imageWithData:data] withMask:self.imageMask];
[UIImagePNGRepresentation(img) writeToFile:cachePath atomically:NO];

это имеет, альфа-канал, инвертированный по сравнению с тем, отображенным позже (использующий тот же экземпляр UIImage здесь).

Какие-либо идеи? Мне действительно нужна кэшированная версия, которая будет замаскирована, иначе отображение изображений в get's табличного представления ужасно замедляется, если я должен замаскировать их каждый раз.

Править: Так да UIImagePNGRepresentation (img), кажется, инвертирует альфа-канал, не имеет никакого отношения к коду, который пишет в диск, который довольно очевиден, но я проверил так или иначе.

12
задан Cœur 1 July 2017 в 04:54
поделиться