iOS Line drawing tool(画线类, 直线和 折线)
来源:互联网 发布:mac 睡眠时间 编辑:程序博客网 时间:2024/06/05 05:15
DrawLine.h文件
注 : 本文在MRC下实现, 如果使用ARC注意内存管理部分
#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface DrawLine : NSObject/* 折线 */+ (void)drawCenter:(UIImageView *)imageView withBeginX:(CGFloat)Bx withBeginY:(CGFloat)By withEndX:(CGFloat)Ex withEndY:(CGFloat)Ey withLineWidth:(CGFloat)width withColorR:(CGFloat)r G:(CGFloat)g B:(CGFloat)b Alpha:(CGFloat)a;/* 直线 */+ (void)drawLineCenter:(UIView *)view withBeginX:(CGFloat)Bx withBeginY:(CGFloat)By withEndX:(CGFloat)Ex withEndY:(CGFloat)Ey withLineWidth:(CGFloat)width withColorR:(CGFloat)r G:(CGFloat)g B:(CGFloat)b Alpha:(CGFloat)a; /* param 1 : 画线部位 * param 2 : 起始点的X * param 3 : 起始点的Y * param 4 : 结束点的X * param 5 : 结束点得Y * param 6 ~ 9 : 线的颜色和透明度 */@end
DrawLine.m文件
#import "DrawLine.h"@implementation DrawLine+ (void)drawCenter:(UIImageView *)imageView withBeginX:(CGFloat)Bx withBeginY:(CGFloat)By withEndX:(CGFloat)Ex withEndY:(CGFloat)Ey withLineWidth:(CGFloat)width withColorR:(CGFloat)r G:(CGFloat)g B:(CGFloat)b Alpha:(CGFloat)a{ UIGraphicsBeginImageContext(imageView.frame.size); [imageView.image drawInRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)]; CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); CGContextSetLineWidth(UIGraphicsGetCurrentContext(), width); /* 线宽 */ CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES); CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), r, g, b, a); /* 颜色 */ CGContextBeginPath(UIGraphicsGetCurrentContext()); CGContextMoveToPoint(UIGraphicsGetCurrentContext(), Bx, By); /* 起点坐标 */ CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), Ex, Ey); /* 终点坐标 */ CGContextStrokePath(UIGraphicsGetCurrentContext()); imageView.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();}+ (void)drawLineCenter:(UIView *)view withBeginX:(CGFloat)Bx withBeginY:(CGFloat)By withEndX:(CGFloat)Ex withEndY:(CGFloat)Ey withLineWidth:(CGFloat)width withColorR:(CGFloat)r G:(CGFloat)g B:(CGFloat)b Alpha:(CGFloat)a{ UIImageView *imageView=[[UIImageView alloc] initWithFrame:view.frame]; [view addSubview:imageView]; view.backgroundColor = [UIColor clearColor]; UIGraphicsBeginImageContext(imageView.frame.size); [imageView.image drawInRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)]; CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); CGContextSetLineWidth(UIGraphicsGetCurrentContext(), width); /* 线宽 */ CGContextSetAllowsAntialiasing(UIGraphicsGetCurrentContext(), YES); CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), r, g, b, a); /* 颜色 */ CGContextBeginPath(UIGraphicsGetCurrentContext()); CGContextMoveToPoint(UIGraphicsGetCurrentContext(), Bx, By); /* 起点坐标 */ CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), Ex, Ey); /* 终点坐标 */ CGContextStrokePath(UIGraphicsGetCurrentContext()); imageView.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [imageView release];}@end
Git Demo : https://github.com/GyqGbusername/BrokenLineAndStraightLine.git
0 0
- iOS Line drawing tool(画线类, 直线和 折线)
- iOS Line drawing tool(画线类, 直线和 折线)
- html 页面画图画线 (直线,折线,圆等)
- Line Drawing
- iOS 画线 绘制直线、矩形、三角形
- iOS 画线 绘制直线、矩形、三角形
- iOS 画线 绘制直线、矩形、三角形
- iOS 画线 绘制直线、矩形、三角形
- iOS 画线(曲线、虚线、直线)
- 利用System.Drawing画线状图,柱状图和饼图.
- 利用System.Drawing画线状图,柱状图和饼图.
- drawing中画直线
- drawing中画不固定直线
- 检测直线(Line)并按倾斜角度进行校正、画线、画延长线
- Drawing Line Animation
- 直线Line
- Draw Line and Bar Chart with Matplotlib 画线和图表
- line renderer 画线
- spring框架学习(六)AOP
- Java操作ini文件
- IOS7原生API进行二维码条形码的扫描
- 解剖CPU
- X射线影像系统图像噪声分析
- iOS Line drawing tool(画线类, 直线和 折线)
- Distinctive Image Features from Scale-Invariant Keypoints-SIFT算法译文
- Java 通用的DES加密工具类的实现
- Android应用启动优化:一种DelayLoad的实现和原理
- C++中的资源管理(一):构造自己的auto_ptr与shared_ptr智能指针
- java基本知识(二)
- iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)
- iBatis框架使用 编程4步
- 在Groovy中编写正则表达式