Сохранение фотографии с добавленным наложением в библиотеку фотографий - PullRequest
4 голосов
/ 19 марта 2011

Я создаю приложение, в котором пользователь делает фотографию, поверх изображения накладывается оверлей, а затем пользователь может сохранить изображение или загрузить его на Facebook или другие сайты.

Мне удалось заставить приложение сделать фотографию, и для наложения я использую UIImageView, который расположен поверх фотографии.

Я не уверен, как именно я могу экспортировать изображение с наложением, как один файл, в библиотеку фотографий или в Facebook.

1 Ответ

2 голосов
/ 19 марта 2011

Это должно дать вам идею.Этот код, возможно, потребуется настроить или два, хотя.(Я признаю, что не запускал его.)

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

UIImage *finalImage;
// Get the layer
CALayer *layer = [myImageView layer];
// Create a bitmap context and make it the current context
UIGraphicsBeginImageContext(layer.bounds.size);
// Get a reference to the context
CGContextRef ctx = UIGraphicsGetCurrentContext();
// Ask the layer to draw itself
[layer drawInContext:ctx];
// Then ask the context itself for the image
finalImage = UIGraphicsGetImageFromCurrentImageContext();
// Finally, pop the context off the stack
UIGraphicsEndImageContext();

Все эти функции описаны в Справочник функций UIKit .

Существует также несколько более сложный способ, который дает вамбольший контроль над такими вещами, как цвет, который включает в себя создание CGBitmapContext и получение CGImageRef, из которого вы снова можете получить UIImage.Это описано в Руководстве по программированию в Quartz 2D, раздел «Создание контекста растровой графики» .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...