poner para online marca logos logo jpg importar gratis fotos desde convertir como celular archivos app agua abrir aae ios objective-c image

para - Superponer una imagen sobre otra imagen en iOS



importar fotos de iphone a pc (4)

Aquí esta lo que hice. La cameraImg es la imagen que recibo de la cámara y las otras tres imágenes son imágenes estáticas que he mostrado en la cameraImg. En este caso, el tamaño define, el tamaño para el contexto que vamos a comenzar. Las imágenes se dibujan en el rect definido por el método DrawInRect. Asegúrate de terminar el contexto y listo.

UIImage *cameraImg = image; UIImage *leftImg = [UIImage imageNamed:@"apple.jpeg"]; UIImage *rightImg = [UIImage imageNamed:@"Cloud.png"]; UIImage *middleImg = [UIImage imageNamed:@"mario.jpeg"]; CGSize size = CGSizeMake(cameraImg.size.width, cameraImg.size.height); UIGraphicsBeginImageContext(size); [cameraImg drawInRect:CGRectMake(0, 0, self.view.window.frame.size.width, self.view.window.frame.size.height)]; [leftImg drawInRect:CGRectMake(x, y, width, height)]; [rightImg drawInRect:CGRectMake(x, y, width, height)]; [middleImg drawInRect:CGRectMake(x, y, width, height)]; UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,finalImage.size.width, finalImage.size.height)]; imageView.image = finalImage; [self.view addSubview:imageView];

Estoy mostrando imágenes en miniatura de YouTube en mi aplicación iOS. que al hacer clic, irá a youtube.

Necesito una forma de superponer un botón de reproducción en esas imágenes. ¿Cuál podría ser la forma más directa de hacerlo?

Además, las imágenes se cargan de forma remota en una tabla, por lo que el rendimiento es una consideración importante


Si le preocupa el rendimiento de desplazamiento de la tabla, recupere la miniatura y pinte el botón de reproducción sobre ella.

+(UIImage*) drawImage:(UIImage*) fgImage inImage:(UIImage*) bgImage atPoint:(CGPoint) point { UIGraphicsBeginImageContextWithOptions(bgImage.size, FALSE, 0.0); [bgImage drawInRect:CGRectMake( 0, 0, bgImage.size.width, bgImage.size.height)]; [fgImage drawInRect:CGRectMake( point.x, point.y, fgImage.size.width, fgImage.size.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; }


Versión Swift 2.2

static func drawImage(image foreGroundImage:UIImage, inImage backgroundImage:UIImage, atPoint point:CGPoint) -> UIImage{ UIGraphicsBeginImageContextWithOptions(backgroundImage.size, false, 0.0) backgroundImage.drawInRect(CGRectMake(0, 0, backgroundImage.size.width, backgroundImage.size.height)) foreGroundImage .drawInRect(CGRectMake(point.x, point.y, foreGroundImage.size.width, foreGroundImage.size.height)) let newImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return newImage }


Swift 3.x

func drawImage(image foreGroundImage:UIImage, inImage backgroundImage:UIImage, atPoint point:CGPoint) -> UIImage { UIGraphicsBeginImageContextWithOptions(backgroundImage.size, false, 0.0) backgroundImage.draw(in: CGRect.init(x: 0, y: 0, width: backgroundImage.size.width, height: backgroundImage.size.height)) foreGroundImage.draw(in: CGRect.init(x: point.x, y: point.y, width: foreGroundImage.size.width, height: foreGroundImage.size.height)) let newImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return newImage! }