我是Quartz的新手。我有2張圖片,一張背景和一張剪裁形狀的面具,我想將它們放在背景上以便剪出一個部分。由此產生的圖像應該是切口的形狀。這是我的面具(中間的形狀爲0阿爾法):CGContextClipToMask返回空白圖像
這是我的代碼:
UIView *canvas = [[[sender superview] subviews] objectAtIndex:0];
UIGraphicsBeginImageContext(canvas.bounds.size);
CGColorSpaceRef colourSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef cgContext = CGBitmapContextCreate(NULL, canvas.bounds.size.width, canvas.bounds.size.height, 8, 0, colourSpace, kCGImageAlphaPremultipliedLast);
CGColorSpaceRelease(colourSpace);
CGImageRef maskImage = [[UIImage imageNamed:@"Mask.png"] CGImage];
CGContextClipToMask(cgContext, CGRectMake(0, 0, canvas.frame.size.width, canvas.frame.size.height), maskImage);
CGImageRef maskedImageRef = CGBitmapContextCreateImage(cgContext);
CGContextRelease(cgContext);
UIImage *maskedImage = [UIImage imageWithCGImage:maskedImageRef];
UIGraphicsEndImageContext();
[button setBackgroundImage:maskedImage forState:UIControlStateNormal];
除非出現什麼...任何想法,我要去錯誤?非常感謝。
你不似乎畫了任何東西。你什麼也沒有,沒有任何東西。如預期。在裁剪之間進行蒙版和創建圖像之間,你應該畫一些東西。 –