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 .