正如标题所说,我有很多显示圆圈的图像。问题是图像是一个正方形,我想让圆形周围的白色区域透明。这是其中一张图片:
不幸的是,白色区域不可见,因为堆栈溢出的背景是白色的。是否有可能删除四个白色角(不删除所有白色区域,因为圆圈中的某些元素可能是白色的)?
如果你明白我的意思,我会在 Photoshop 中使用“魔术棒”工具。谢谢你的帮助。
正如标题所说,我有很多显示圆圈的图像。问题是图像是一个正方形,我想让圆形周围的白色区域透明。这是其中一张图片:
不幸的是,白色区域不可见,因为堆栈溢出的背景是白色的。是否有可能删除四个白色角(不删除所有白色区域,因为圆圈中的某些元素可能是白色的)?
如果你明白我的意思,我会在 Photoshop 中使用“魔术棒”工具。谢谢你的帮助。
只需将角半径设置为图像宽度或高度的一半(当然,假设图像是正方形的):
#import <QuartzCore/QuartzCore.h>
imageView.layer.cornerRadius = imageView.bounds.size.width;
imageView.layer.masksToBounds = YES;
而且,如果您喜欢(附加)边框:
imageView.layer.borderWidth = 0.5f;
然后,阅读您的评论,以获取此图像:
UIGraphicsBeginImageContext(imageView.layer.bounds.size);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
渲染image
的正是现在图层的大小。
为防止放大时出现像素化,请尝试以下操作:
BOOL opaque = NO;
short scale = [[UIScreen mainScreen] scale];
UIGraphicsBeginImageContextWithOptions(view.bounds.size, opaque, scale);
或者也许是另一个规模。