ios cocoa-touch uiimage quartz-graphics cgcontext

ios - drawInRect: perdiendo calidad de resolución de imagen



cocoa-touch uiimage (1)

Debe ir con UIGraphicsBeginImageContextWithOptions lugar de UIGraphicsBeginImageContext , para que se pueda especificar un factor de escala.

Por ejemplo, esto usará el factor de escala de la pantalla principal del dispositivo:

UIGraphicsBeginImageContextWithOptions(imgForeground.frame.size, NO, 0);

Estoy tratando de borrar la imagen usando el siguiente código

CGColorRef strokeColor = [UIColor whiteColor].CGColor; UIGraphicsBeginImageContext(imgForeground.frame.size); CGContextRef context = UIGraphicsGetCurrentContext(); [imgForeground.image drawInRect:CGRectMake(0, 0, imgForeground.frame.size.width, imgForeground.frame.size.height)]; CGContextSetLineCap(context, kCGLineCapRound); CGContextSetLineWidth(context, 10); CGContextSetStrokeColorWithColor(context, strokeColor); CGContextSetBlendMode(context, kCGBlendModeClear); CGContextBeginPath(context); CGContextMoveToPoint(context, lastPoint.x, lastPoint.y); CGContextAddLineToPoint(context, currentPoint.x, currentPoint.y); CGContextStrokePath(context); imgForeground.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();

Pero acabo de descubrir que Image pierde su resolución debido a drawInRect .