2012-03-19 9 views
0

Я пытаюсь добавить наложенное изображение на фотографию, которая была сделана. Кто-нибудь видел какие-либо примеры того, как я могу это сделать? Я хочу иметь изображение, которое является прозрачным PNG-файлом, а затем позволяет пользователю делать снимок с изображением в нем.Использование камеры на iPad/iPhone с наложением

+0

Возможный дубликат [Сохранение фотографии с добавлением наложения в библиотеку фотографий] (http://stackoverflow.com/questions/5359868/saving-photo-with-added-overlay-to-photo-library) –

+0

Да, но нет решение было дано. Как я указал в своем посте, я не нашел примеров того, как это сделать. Спасибо за попытку, хотя и я посмотрю на ссылки, но это не выглядит перспективным. – LilMoke

ответ

1

Iulius правильно, что это по существу дублирующий вопрос. Однако, чтобы исключить одну проблему - хотите ли вы, чтобы пользователь мог видеть наложение при составлении снимка? (т. е. если ваше приложение создает разные головы на головах людей, вы хотите показать шляпу, плавающую в пространстве, когда они снимают фотографию?). Если вы хотите узнать больше об этом, вам нужно будет использовать свойство cameraOverlayView для imagePickerController, которое позволяет накладывать собственные виды (ы) на камеру. Есть вопросы по этой теме уже на SO, как этот: How to add a overlay view to the cameraview and save it

Update Re: масштабирование - LilMoke, я полагаю, когда вы говорите, что изображение смещено вы получаете в неприятности с той разницей, с (4: 3) и экран iPhone (3: 4). Вы можете определить константу и использовать ее для установки свойства cameraViewTransform вашего UIImagePickerController. Вот фрагмент кода, частично заимствован, и упрощен с отличным дополненной реальностью учебника at raywenderlich.com:

#define CAMERA_TRANSFORM 1.24299 
// First create an overlay view for your superimposed image 
overlay = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
overlay.backgroundColor=[UIColor clearColor]; 
overlay.opaque = NO; 

UIImagePickerController *imagePicker; 
imagePicker = [[[UIImagePickerController alloc] init] autorelease]; 
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
imagePicker.showsCameraControls = YES; // assuming you need these? 
imagePicker.toolbarHidden = YES; 
imagePicker.navigationBarHidden = YES; 
imagePicker.wantsFullScreenLayout = YES; 
imagePicker.cameraViewTransform = CGAffineTransformScale(imagePicker.cameraViewTransform, 
    CAMERA_TRANSFORM, CAMERA_TRANSFORM); // If I understood your problem, this should help 
imagePicker.cameraOverlayView = overlay; 

Если код вдоль этих линий не получает вас на пути, то, возможно, вы можете оставить все соответствующий код от вашего беспокойного проект здесь. Надеюсь, это просто вопрос настройки CameraViewTransform, как я сказал выше.

+0

Dylan, да, это то, что я хочу делать, но каждый пример, который я нахожу, делает то же самое, что и изображение смещено. Когда я впервые это сделал, я заметил эту проблему, поэтому я начал искать пример ... и все имеют одну и ту же проблему, и никто, кажется, не обращается к ней. Мне кажется, что это проблема масштабирования, но я не уверен. – LilMoke

+0

@LilMoke Как изменилось свойство cameraViewTransform справки ImagePickerController, как описано выше? – Dylan

+0

Dylan, я вернулся к этому и еще не получил его. В основном мой код следует за этим сообщением: http://stackoverflow.com/questions/2076456/watermark-image-on-real-time-on-camera-view-in-iphone/2078700#2078700 Я добавил преобразование, но он сделал похоже, не помогает, может быть, я делаю это не в то время. Если вы все еще активны в этой должности, я могу опубликовать метод, который выполняет преобразование, и, возможно, вы увидите проблему. Спасибо за помощь. – LilMoke

Смежные вопросы