Disegna un’altra immagine su una UIImmagine

È ansible aggiungere un’altra immagine, più piccola, a UIImage / UIImageView? Se é cosi, come? In caso contrario, come posso disegnare un piccolo triangolo pieno?

Grazie

È ansible aggiungere una sottoview a UIImageView contenente un’altra immagine con il piccolo triangolo pieno. Oppure puoi disegnare all’interno della prima immagine:

 CGFloat width, height; UIImage *inputImage; // input image to be composited over new image as example // create a new bitmap image context at the device resolution (retina/non-retina) UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), YES, 0.0); // get context CGContextRef context = UIGraphicsGetCurrentContext(); // push context to make it current // (need to do this manually because we are not drawing in a UIView) UIGraphicsPushContext(context); // drawing code comes here- look at CGContext reference // for available operations // this example draws the inputImage into the context [inputImage drawInRect:CGRectMake(0, 0, width, height)]; // pop context UIGraphicsPopContext(); // get a UIImage from the image context- enjoy!!! UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext(); // clean up drawing environment UIGraphicsEndImageContext(); 

Questo codice ( fonte qui ) creerà una nuova UIImage che è ansible utilizzare per inizializzare UIImageView .

Puoi provare questo, funziona perfettamente per me, è la categoria UIImage:

 - (UIImage *)drawImage:(UIImage *)inputImage inRect:(CGRect)frame { UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0); [self drawInRect:CGRectMake(0.0, 0.0, self.size.width, self.size.height)]; [inputImage drawInRect:frame]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } 

o Swift:

 extension UIImage { func image(byDrawingImage image: UIImage, inRect rect: CGRect) -> UIImage! { UIGraphicsBeginImageContext(size) draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height)) image.draw(in: rect) let result = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return result } }