gpt4 book ai didi

objective-c - 如何用圆圈遮盖正方形图像并在图像周围放置黑色边框

转载 作者:可可西里 更新时间:2023-11-01 05:04:06 25 4
gpt4 key购买 nike

我有一个 40x40 的正方形图像,我想通过裁剪使其变圆,但也在图像周围放置一个 5 像素的黑色边框。

我有以下内容,它屏蔽了正方形图像,所以它现在是圆形的

 UIImage *image = self.imageView.image;
CGSize imageSize = image.size;
CGRect imageRect = CGRectMake(0, 0, imageSize.width, imageSize.height);

UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
// Create the clipping path and add it
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:imageRect];
[path addClip];


[image drawInRect:imageRect];
UIImage *roundedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

self.imageView.image = roundedImage;

但现在我还需要在它周围添加一个圆形边框。我是否需要一条新路径,或者我是否可以直接使用上面代码中的路径?

最佳答案

在您的代码中添加以下三行(使用您想要的任何颜色和笔划宽度):

CGContextSetStrokeColorWithColor(ctx, [[UIColor greenColor] CGColor]);
[path setLineWidth:50.0f];
[path stroke];

于是变成了:

UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
CGContextRef ctx = UIGraphicsGetCurrentContext();
// Create the clipping path and add it
UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:imageRect];
[path addClip];
[image drawInRect:imageRect];

CGContextSetStrokeColorWithColor(ctx, [[UIColor greenColor] CGColor]);
[path setLineWidth:50.0f];
[path stroke];

UIImage *roundedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

self.imageView.image = roundedImage;

关于objective-c - 如何用圆圈遮盖正方形图像并在图像周围放置黑色边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13081356/

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