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