2013-07-18 127 views
0

我使用UIBezierPath使用手指和觸摸端方法在白色背景和黑色筆觸中繪製線我正在使用CGGraphicsContext()裁剪圖像,並且哪個工作正常。我想刪除白色背景並將其設置爲透明。我已經嘗試了幾個代碼,而這些代碼並不適合我。下面的代碼使整個圖像透明。除黑色筆畫之外,任何人都可以幫助我使圖像透明。提前致謝。對不起,如果問題已經被問到。在UIImageView中刪除白色背景

-(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; 
} 

回答

3

您使用UIImageView顯示UIImage只需要設置BACKGROUNDCOLOR到clearColor像波紋管......

 [yourImageView setBackgroundColor:[UIColor clearColor]]; 
+0

對不起。我的錯。當我裁剪時,我使用了UIJpegRepresentation而不是UIPNGRepresentation。它解決了我的問題。 –