我正在使用UIBezierPath
使用手指在白色背景和黑色笔划中绘制线条和触摸结束方法我使用CGGraphicsContext()
裁剪图像并且工作正常。我想删除白色背景,使其透明。我已经尝试了几个代码,这对我不起作用。以下代码使整个图像透明。任何人都可以帮助我使图像透明,除了黑色笔划。提前致谢。对不起,如果问题已经提出。
-(UIImage*) makeTransparent : (UIImage*) viewImage
{
CGImageRef rawImageRef = viewImage.CGImage;
const float colorMasking[6] = {255, 255, 255, 255, 255, 255};
UIGraphicsBeginImageContext(viewImage.size);
CGImageRef maskedImageRef = CGImageCreateWithMaskingColors(rawImageRef, colorMasking);
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), 0.0, viewImage.size.height);
CGContextScaleCTM(UIGraphicsGetCurrentContext(), 1.0, -1.0);
CGContextDrawImage(UIGraphicsGetCurrentContext(), CGRectMake(0, 0, viewImage.size.width, viewImage.size.height), maskedImageRef);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
CGImageRelease(maskedImageRef);
UIGraphicsEndImageContext();
return newImage;
}
答案 0 :(得分:3)
您使用UIImageView
进行展示UIImage
,然后将背景颜色设置为clearColor
,如下所示......
[yourImageView setBackgroundColor:[UIColor clearColor]];