UIBezierPath貝塞爾曲線
1.Line cap styles. 線角樣式
typedef CF_ENUM(int32_t, CGLineCap) {
kCGLineCapButt,
kCGLineCapRound,//圓角
kCGLineCapSquare //直角
};
設定某一個角可以有圓角(列舉值)
byRoundingCorners:(UIRectCorner)corners
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
UIRectCornerTopLeft = 1 << 0,
UIRectCornerTopRight = 1 << 1,
UIRectCornerBottomLeft = 1 << 2,
UIRectCornerBottomRight = 1 << 3,
UIRectCornerAllCorners = ~0UL
};
3.根據一個矩形畫曲線(沿著rect 畫)
+ (UIBezierPath*)bezierPathWithRect:(CGRect)rect
4.根據矩形框的內切圓畫曲線
+ (UIBezierPath*)bezierPathWithOvalInRect:(CGRect)rect
5.根據矩形畫帶圓角的曲線
引數:
cornerRadius 每個角角度
+ (UIBezierPath*)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius
6.在矩形中可以針對四角中的某個角加圓角
引數:
corners rect 列舉值,可以選擇某個角
cornerRadii 圓角的大小
+ (UIBezierPath*)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii
7.以某個中心點畫弧線
引數:
center:弧線中心點的座標
radius:弧線所在圓的半徑
startAngle:弧線開始的角度值
endAngle:弧線結束的角度值
clockwise:是否順時針畫弧線
+ (UIBezierPath*)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
8.畫二元曲線,和moveToPoint配合使用
引數:
endPoint:曲線的終點
controlPoint:畫曲線的基準點
- (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint
9.以三個點畫一段曲線,和moveToPoint配合使用
引數:
endPoint:曲線的終點
controlPoint1:畫曲線的第一個基準點
controlPoint2:畫曲線的第二個基準點
- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2
10.閉合路徑
- (void)closePath;
11.移除所有的點
- (void)removeAllPoints;
12.追加路徑
- (void)appendPath:(UIBezierPath *)bezierPath;
追加路徑
13. Modified paths
- (UIBezierPath *)bezierPathByReversingPath NS_AVAILABLE_IOS(6_0);
14.轉換路徑
- (void)applyTransform:(CGAffineTransform)transform;
15.路徑資訊
@property(readonly,getter=isEmpty) BOOL empty;
@property(nonatomic,readonly) CGRect bounds;
@property(nonatomic,readonly) CGPoint currentPoint;
- (BOOL)containsPoint:(CGPoint)point; //路徑中是否包含這個點
16. Drawing properties
@property(nonatomic) CGFloat lineWidth; //線寬
@property(nonatomic) CGLineCap lineCapStyle;
@property(nonatomic) CGLineJoin lineJoinStyle; //曲線交叉點的型別
17.兩條線交匯處內角和外角之間的最大距離,需要交叉點型別為kCGLineJoinMiter是生效,最大限制為10 Used when lineJoinStyle is kCGLineJoinMiter
@property(nonatomic) CGFloat miterLimit;
@property(nonatomic) CGFloat flatness;
// 預設是NO。當YES時,單雙數填充規則用於繪畫,剪裁,點選測試。
@property(nonatomic) BOOL usesEvenOddFillRule; // Default is NO. When YES, the even-odd fill rule is used for drawing, clipping, and hit testing.
- (void)setLineDash:(nullable const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase;
- (void)getLineDash:(nullable CGFloat *)pattern count:(nullable NSInteger *)count phase:(nullable CGFloat *)phase;
18.對當前圖形上下文路徑操作
- (void)fill;
- (void)stroke;
19. 這些方法不影響混合模式或當前圖形上下文的α
blendMode 填充顯示樣式 (列舉值)
alpha 透明度
- (void)fillWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha;
blendMode 線的顯示樣式 (列舉值)
alpha 透明度
- (void)strokeWithBlendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha;
20.使用當前path剪下當前的圖形,之後在超出path區域的地方繪圖將顯示不出來
- (void)addClip;
相關文章
- iOS UIBezierPath 貝塞爾曲線iOSUI
- iOS UIBezierPath貝塞爾曲線常用方法iOSUI
- Android 貝塞爾曲線Android
- 貝塞爾曲線基礎部分
- 貝塞爾曲線理解與應用
- 如何理解並應用貝塞爾曲線
- Android 自定義貝塞爾曲線工具Android
- 貝塞爾曲線開發的藝術
- canvas實現高階貝塞爾曲線Canvas
- canvas bezierCurveTo() 三次貝塞爾曲線Canvas
- 使用貝塞爾曲線裁圓優化tableView優化View
- Path從懵逼到精通(2)——貝塞爾曲線
- js控制貝塞爾曲線程式碼例項JS線程
- 安卓自定義 View 進階:貝塞爾曲線安卓View
- 貝塞爾曲線(Bezier curve)實現節點連線
- 用canvas繪製一個曲線動畫——深入理解貝塞爾曲線Canvas動畫
- 自定義View合輯(6)-波浪(貝塞爾曲線)View
- canvas 二次貝塞爾曲線quadraticCurveTo()Canvas
- SVG <path> C 指令 三次貝塞爾曲線SVG
- SVG <path> Q指令 二次貝塞爾曲線SVG
- webGL入門-四階貝塞爾曲線繪製Web
- html5中canvas繪製貝塞爾曲線HTMLCanvas
- iOS開發之畫圖板(貝塞爾曲線)iOS
- 【Flutter高階玩法】 貝塞爾曲線的表象認知Flutter
- Flutter 自定義元件之貝塞爾曲線畫波浪球Flutter元件
- Android-貝塞爾曲線實現水波紋動畫Android動畫
- canvas基礎[二]教你編寫貝塞爾曲線工具Canvas
- SVG <path>元素C指令三次貝塞爾曲線SVG
- SVG <path>元素Q指令二次貝塞爾曲線SVG
- html5中canvas貝塞爾曲線繪製菊花HTMLCanvas
- bezierMaker.js——N階貝塞爾曲線生成器JS
- 一個貝塞爾曲線編輯工具(2d)
- 貝塞爾曲線原理、推導及Matlab實現Matlab
- 自定義View合輯(8)-跳躍的小球(貝塞爾曲線)View
- 包教包會-貝塞爾曲線的繪製原理與應用
- 簡易製作貝塞爾曲線動畫(JS+css3+canvas)動畫JSCSSS3Canvas
- SVG之Path路徑詳解(二),全面解析貝塞爾曲線SVG
- Android日常學習:OpenGL 實踐之貝塞爾曲線繪製Android