Можете ли вы сохранить PNG в библиотеке фотографий в iOS5?

Я заметил, что линейные рисунки из приложения для рисования, которое я создаю, очень низкого качества при сохранении с использованием этого кода:

UIImage *imageToSave = drawImage.image;
UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);

Насколько я понимаю, вы не можете установить качество JPG при использовании UIImageWriteToSavedPhotosAlbum.

Есть ли способ сохранить UIImage как PNG в библиотеке фотографий или как-то повысить качество JPG? При создании снимка экрана (нажатие кнопки «вкл / выкл» + «домой» на iPad) качество полученного изображения идеальное, но я не могу ожидать, что люди сохранят изображения таким образом.

Любая помощь очень ценится!


person machineboy    schedule 24.11.2011    source источник


Ответы (1)


Попробуй это

NSData* pngdata = UIImagePNGRepresentation (drawImage.image); //PNG wrap 
UIImage* img = [UIImage imageWithData:pngdata];
UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil);
person Źirk Kelevra    schedule 24.11.2011
comment
Огромное спасибо! Это хорошо работает, изображение сохраняется быстрее, чем сжатый JPG, и не содержит артефактов. Изображение сохраняется с прозрачностью, что приводит к черному фону при просмотре на iPad. Мне нужно выяснить, как включить белый фон, прежде чем писать PNG. - person machineboy; 25.11.2011
comment
Это работает, но не очень элегантно: drawImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"white_background.png"]]; Можно ли программно отключить прозрачность при записи PNG? - person machineboy; 25.11.2011