У меня есть изображениеViewA (frame {0,0,320,200}) в моем приложении, и я хочу обрезать круг с центром imageViewA, радиус = 50 и рисовать в другое изображениеViewB (frame { 0,0,100,100}); первоначальный эффект изображения, как это:Используйте CGContextClip для обрезания круга с изображением
и использовать ниже код для клипа:
UIGraphicsBeginImageContext(self.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGFloat height = self.bounds.size.height;
CGContextTranslateCTM(ctx, 0.0, height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextAddArc(ctx, self.frame.size.width/2, self.frame.size.height/2, 50, 0, 2*M_PI, 0);
CGContextClosePath(ctx);
CGContextSaveGState(ctx);
CGContextClip(ctx);
CGContextDrawImage(ctx, CGRectMake(0,0,self.frame.size.width, self.frame.size.height), image.CGImage);
CGContextRestoreGState(ctx);
CGImageRef imageRef = CGBitmapContextCreateImage (ctx);
UIImage *newImage = [UIImage imageWithCGImage:imageRef];
NSString *headerPath = [NSString stringWithFormat:@"%@/header.png",HomeDirectory];
NSData *imageData = UIImageJPEGRepresentation(newImage, 1.0);
if([imageData writeToFile:headerPath atomically:YES]){
imageViewB.image = [UIImage imageWithContentsOfFile:headerPath];
}
клип эффект изображения, как это:
мне нужно только круг, но эффект эффекта клипа показывает, что изображениеViewB имеет пробел. Как правильно закрепить это изображение? Спасибо!
Можете ли вы сказать мне вашу электронную почту? – Roby