iphone - pencil - CGContextStrokeRect dibuja solo un lado de rect
dibujar en ipad (1)
El problema es cuando pasa self.view.frame.size a UIGraphicsBeginImageContext () y luego utiliza rectángulo dibujado en una matriz, se escala y el borde se ofusca. Intente pasar solo el tamaño que necesita, es decir, CGSizeMake (2 * 128 + 128 + 2,2 * 128 + 128 + 2). Entonces muestra ok
Necesito dibujar un rect lleno de color y su borde ... el recto está lleno de color correctamente pero el borde exterior está parcialmente dibujado, ¡solo se dibuja el lado derecho del recto!
El UIImage generado se va a utilizar en un imageView de UITableViewCell.
- (UIImage *)legendItemWithColor:(UIColor *)color
{
UIGraphicsBeginImageContext(self.view.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect outside = CGRectMake(128, 128, 128, 128);
CGRect legend = CGRectInset(outside, 1, 1);
NSLog(@"Outside: %@", NSStringFromCGRect(outside));
NSLog(@"Legend: %@", NSStringFromCGRect(legend));
CGContextSetFillColorWithColor(context, color.CGColor);
CGContextFillRect(context, legend);
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
CGContextStrokeRect(context, outside);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIGraphicsPopContext();
return img;
}