300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python用渐变色画圆_画圆圈和设置渐变色

python用渐变色画圆_画圆圈和设置渐变色

时间:2022-12-17 12:30:39

相关推荐

python用渐变色画圆_画圆圈和设置渐变色

_height = self.frame.size.height;

_width = self.frame.size.width;

//圆心

self.circleCenter = CGPointMake(_width/2.0, _height/2.0);

//线条宽度

CGFloat lineWidth = 10.0;

//半径

self.outerCircleRadius = (_width-lineWidth)/2;

CAShapeLayer *outCircle = [CAShapeLayer new];

outCircle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(0,0) radius:self.outerCircleRadius startAngle:(0.75*M_PI) endAngle:(0.25*M_PI) clockwise:YES].CGPath;

outCircle.strokeColor = [UIColor colorWithHexString:@"008000"].CGColor;

outCircle.fillColor = [UIColor clearColor].CGColor; //这里不设为clearColor,渐变色就不会显示为圆圈

outCircle.lineWidth = lineWidth;

outCircle.position = self.circleCenter;

[self.layer addSublayer:outCircle];

CALayer *gradientLayer = [CALayer layer];

CAGradientLayer *gradientLayerLeft = [CAGradientLayer layer];

gradientLayerLeft.frame = CGRectMake(0, 0, self.frame.size.width/2, self.frame.size.height);

[gradientLayerLeft setColors:[NSArray arrayWithObjects:(id)[UIColor colorWithHexString:@"008000"].CGColor,(id)[[UIColor orangeColor] CGColor], nil]];

[gradientLayerLeft setLocations:@[@0.15,@.85]];

[gradientLayerLeft setStartPoint:CGPointMake(0.5, 1)];

[gradientLayerLeft setEndPoint:CGPointMake(0.5, 0)];

[gradientLayer addSublayer:gradientLayerLeft];

CAGradientLayer *gradientLayerRight = [CAGradientLayer layer];

[gradientLayerRight setLocations:@[@.15,@.85]];

gradientLayerRight.frame = CGRectMake(self.frame.size.width/2, 0, self.frame.size.width/2, self.frame.size.height);

[gradientLayerRight setColors:[NSArray arrayWithObjects:(id)[[UIColor orangeColor] CGColor],(id)[[UIColor redColor] CGColor], nil]];

[gradientLayerRight setStartPoint:CGPointMake(0.5, 0)];

[gradientLayerRight setEndPoint:CGPointMake(0.5, 1)];

[gradientLayer addSublayer:gradientLayerRight];

[gradientLayer setMask:outCircle]; //用outCircle来截取渐变层

[self.layer addSublayer:gradientLayer];

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。