Fusión de UIImageViews para guardar como 1 imagen: las áreas transparentes muestran imágenes anteriores

Mi aplicación permite a los usuarios elegir o tomar una foto, luego agregar otros objetos o texto en la parte superior y rotarlos o cambiar su tamaño.

Para guardar, solo estoy tomando una captura de pantalla de la pantalla del iPhone porque después de intentarlo durante horas y horas, simplemente no pude encontrar la manera de guardar la imagen original con los objetos agregados colocados en los lugares correctos, con la rotación/cambio de tamaño correcto. /etc... (¡Si alguien conoce un buen ejemplo/tutorial de cómo hacer esto, sería increíblemente útil!)

Tengo una UIView con un tamaño de 320x366. Cuando el usuario elige una imagen, la cargo dentro de esa UIView y se dimensiona para que se ajuste correctamente a su relación de aspecto. Cuando el usuario termina de agregar/editar objetos en su imagen, puede guardarla.

-(UIImage *)createMergedImage
{
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(contentView.frame.size.width, contentView.frame.size.height), NO, 0.0f);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextClearRect(context, CGRectMake(0, 0, contentView.frame.size.width,contentView.frame.size.height));
//contentView is the 320x366 view with all the images
    [contentView.layer renderInContext:context];
    UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return screenShot;
} 

Ese es el código que estoy usando para guardar UIView como una imagen. Ajustando las imágenes con su relación de aspecto reducida correcta, hay un borde transparente en la parte superior/inferior o izquierda/derecha.

Ahora está guardando y funciona, cuando abro la imagen es exactamente lo que esperaba. El problema es que cuando miro la imagen de vista previa, muestra otras imágenes (que he visto anteriormente en mi iPhone) en la parte transparente de la imagen. Como puedes ver en esta siguiente imagen. foto 1

Cuando entro en el Camera Roll, la parte transparente se ve negra (como debería) como se ve en esta segunda imagen. foto 2

Además, cuando me desplazo por mi Camera Roll cuando llego a la imagen que guardó mi aplicación, veré esas imágenes aleatorias adicionales en el área transparente durante 0-1 segundos antes de que desaparezca y se vuelva negro (dejando la imagen correcta el como debe ser).

Espero que alguien haya visto algo así antes y sepa cómo solucionarlo.

¡Gracias!

preguntado el 22 de mayo de 12 a las 09:05

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.