Сохранение маскированного UIImage на диск приводит к неправильному изображению

У меня есть приложение с большим количеством замаскированных изображений. Для повышения производительности я должен был сгенерировать эти замаскированные изображения на диске, а затем включить их в приложение (они будут загружены по запросу, а не замаскированы на лету, потому что это уже сделано).

Я использую такой код

NSString  *pngPath = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/Test_%d.png",i]];
NSString  *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"Documents/Test_%d.jpg",i]];

// Write a UIImage to JPEG with minimum compression (best quality)
// The value 'image' must be a UIImage object
// The value '1.0' represents image compression quality as value from 0.0 to 1.0
[UIImageJPEGRepresentation([self maskImageWithStroke:image withMask:maskImage], 1.0) writeToFile:jpgPath atomically:YES];

// Write image to PNG
[UIImagePNGRepresentation([self maskImageWithStroke:image withMask:maskImage]) writeToFile:pngPath atomically:YES];

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

Вот как я использую несколько масок и блан:

  1. возьмите изображение и замаскируйте его, чтобы получить maskedImage

  2. Элемент списка возьмите маску и немного увеличьте ее размер: большеMask

  3. blend maskedImage и bigmask, чтобы маска maskedStrokedImage была обведена biggrMask (это единственный способ добавить нерегулярный штрих к нерегулярному замаскированному изображению)

  4. замаскируйте maskedStrokedImage с помощью largeMask, чтобы получить окончательный результат.

Проблема в том, что сохранить изображение, полученное на шаге 1, можно: у меня есть JPG и PNG именно с тем, что мне нужно.

Моя цель - сохранить результат шага 4 на диск, но результатом является imahe, показывающий некоторую часть штриха, а остальное белое ...

Любая идея, почему я не могу сохранить шаг 4 на диск?


person Tibi    schedule 17.10.2010    source источник


Ответы (1)