7
A
回答
1
这里是你如何可以遮蔽创建路径:
- (UIBezierPath *)curvedRectWithFrame:(CGRect)frame radius:(CGFloat)radius
{
double halfFrameHeight = ((double)frame.size.height/2);
// Check if the radius is too small.
if (radius < halfFrameHeight) {
radius = halfFrameHeight;
}
CGFloat arcAngle = asin(halfFrameHeight/radius);
CGFloat centerX = frame.origin.x + (frame.size.width - radius);
CGFloat centerY = frame.origin.y + halfFrameHeight;
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:frame.origin];
[path addLineToPoint:CGPointMake(centerX + radius * cos(arcAngle), frame.origin.y)];
[path addArcWithCenter:CGPointMake(centerX, centerY) radius:radius startAngle:-arcAngle endAngle:arcAngle clockwise:YES];
[path addLineToPoint:CGPointMake(frame.origin.x, path.currentPoint.y)];
[path closePath];
return path;
}
那么你可以申请形状面膜你的形象:
const CGFloat kCurveRadius = 500.;
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = yourImageView.bounds;
maskLayer.path = [self curvedRectWithFrame:maskLayer.bounds radius:kCurveRadius].CGPath;
yourImageView.layer.mask = maskLayer;
9
可能是这样的代码将帮助你...
UIBezierPath *maskPath;
maskPath = [UIBezierPath bezierPathWithRoundedRect:YourImageVIew.bounds byRoundingCorners:(UIRectCornerTopRight | UIRectCornerBottomRight) cornerRadii:CGSizeMake(50.0, 50.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = YourImageVIew.bounds;
maskLayer.path = maskPath.CGPath;
YourImageVIew.layer.mask = maskLayer;
相关问题
- 1. 插入非矩形形状
- 2. 识别矩形形状
- 3. 使用numpy更改矩阵的形状
- 4. 如何在Android中将矩形形状添加到矩形形状
- 5. 形状分析,以从其他形状区分矩形
- 6. 更改阵列的形状
- 7. 更改jpeg的形状
- 8. 更改appWidget中的形状
- 9. 更改JButton的形状
- 10. 在UIImageView上绘制形状
- 11. android形状内的形状
- 12. 矩形以外形状的按钮
- 13. 缩放和旋转的形状(矩形)
- 14. 只有css的非矩形形状?
- 15. 不规则的矩形形状
- 16. 定制边界矩形的形状
- 17. 从底部弯曲的矩形形状
- 18. Android:如何更改按钮的默认形状?
- 19. WebGL更改形状动画
- 20. Python - 更改对象形状?
- 21. 更改形状颜色
- 22. 更改为CPTPlotSpaceAnnotation层形状?
- 23. 更改JPanel默认图形
- 24. WPF形状矩形边框总是空
- 25. Android形状自定义矩形
- 26. 用矩形填充2D形状
- 27. Excel vba更改形状公式而不选择形状
- 28. 修改形状AS3
- 29. 对于自定义JLabel(形状已更改)setbackground方法绘制矩形而不是新形状
- 30. 双梯形形状
它是静态图像还是一种控件,当用户触摸图像时需要处理触摸事件?你在图像编辑器中创建图像还是需要以编程方式创建图像? – yurish
@yurish:static image..The user image download from internet ..然后在上面的步骤中显示图片 – Seeker
我接受了下面的答案,但它不会给出我上面提到的确切形状... – Seeker