gpt4 book ai didi

objective-c - 在 iOS 中将图像蒙版为圆形

转载 作者:行者123 更新时间:2023-11-29 13:41:08 25 4
gpt4 key购买 nike

我知道有很多关于面具的问题,但对他们的回答对我没有帮助(只是部分)。

我需要做我的形象。我创建了 mask.png并在代码中使用它:

- (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {    
CGImageRef maskRef = maskImage.CGImage;

CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);

CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
UIImage* maskedImage = [UIImage imageWithCGImage:masked];

CGImageRelease(masked);
CGImageRelease(mask);
return maskedImage;
}

一切都很好,每个人都很开心。但是当我开始在设备上测试这个方法时,我发现它并没有掩盖我的形象(在模拟器中一切正常)。如何屏蔽我的图像?

附言我暂时将 view.layes.mask 设置为蒙版图层。这个变体正在设备上工作。可能有什么方法可以从这一层保存回合?

最佳答案

如果您只需要一个圆形 ImageView ,则无需执行所有这些操作。

UIImageView * myimageview = [[UIImageView alloc]init];
myimageview.layer.cornerRadius = myimageview.frame.size.height;
myimageview.layer.masksToBounds = true;

使用上面的代码并将任何图像设置到该 ImageView ,您将得到一个圆形 ImageView 。在这里,您不是在使图像变圆,而是在 imageview 上。

关于objective-c - 在 iOS 中将图像蒙版为圆形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9097112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com