1
我用這個代碼做了一個圓形遮罩效果:圈遮罩效果
CGContextRef context = CGBitmapContextCreate(NULL, self.bounds.size.width, self.bounds.size.height, 8, 4 * self.bounds.size.width, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaPremultipliedFirst);
CGContextAddArc(context, 1024/2, 768/2, size, 0, 6.3, 0);
CGContextClosePath(context);
CGContextClip(context);
CGContextDrawImage(context, self.bounds, imageView.image.CGImage);
CGImageRef imageMasked = CGBitmapContextCreateImage(context);
CGContextRelease(context);
UIImage *newImage = [UIImage imageWithCGImage:imageMasked];
CGImageRelease(imageMasked);
[imageView setImage:newImage];
UIGraphicsEndImageContext();
當我設置size--
,圓縮小與價值,但是當我設置size++
圈沒有變焦與價值。到底是怎麼回事?
這不回答你的問題,但可能是值得一瀏覽:[添加上的UIImageView一圓掩膜層(http://stackoverflow.com/questions/14670985/adding-a-circle-mask-layer-上-AN-的UIImageView/15429140#15429140)。一個圓形掩模被添加到可以擴展,並通過用戶交互收縮的圖像。這是非常高效的。 – 2013-03-25 08:41:49
如果你想在掩蓋然後u必須始終掩蓋它放大效應,否則只是放大/縮小圖像包含圖像 – DivineDesert 2013-03-25 09:06:11
@ElliottPerry好的觀察!感謝您的幫助:) – 2013-03-25 09:46:37