ios rgb数据流慢怎么解决

ios rgb数据流慢怎么解决,第1张

iOS中RGB常用的色值,同时可将对颜色的设置定义成宏,方便开发应用,如:

// RGB颜色转换(16进制->10进制)

#define UIColorFromRGB(rgbValue) [UIColor

colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/2550

green:((float)((rgbValue & 0xFF00) >> 8))/2550

blue:((float)(rgbValue & 0xFF))/2550 alpha:10]

// 获取RGB颜色

#define RGBA(r,g,b,a) [UIColor colorWithRed:r/2550f green:g/2550f blue:b/2550f alpha:a]

#define RGB(r,g,b) RGBA(r,g,b,10f)

CGContextRef context = UIGraphicsGetCurrentContext(); //设置上下文

//画一条线

CGContextSetStrokeColorWithColor(context, [UIColor redColor]CGColor);//线条颜色

CGContextSetLineWidth(context, 50);//线条宽度

CGContextMoveToPoint(context, 20, 20); //开始画线, x,y 为开始点的坐标

CGContextAddLineToPoint(context, 300, 20);//画直线, x,y 为线条结束点的坐标

CGContextStrokePath(context); //开始画线

//绘制贝兹曲线

//贝兹曲线是通过移动一个起始点,然后通过两个控制点,还有一个中止点,调用CGContextAddCurveToPoint() 函数绘制

CGContextSetLineWidth(context, 20);

CGContextSetStrokeColorWithColor(context, [UIColor blueColor]CGColor);

CGContextMoveToPoint(context, 10, 10);

CGContextAddCurveToPoint(context, 200, 50, 100, 400, 300, 400);

CGContextStrokePath(context);

//绘制连续的曲线

CGContextSetLineWidth(context, 50);

CGContextSetStrokeColorWithColor(context, [UIColor greenColor]CGColor);

CGContextMoveToPoint(context, 230, 150);//开始画线, x,y 为开始点的坐标

CGContextAddCurveToPoint(context, 310, 100, 300, 200, 220, 220);//画三次点曲线

CGContextAddCurveToPoint(context, 290, 140, 280, 180, 240, 190);//画三次点曲线

CGContextStrokePath(context);//开始画线

//绘制虚线

CGContextSetRGBStrokeColor(context, 01, 02, 03, 1);//线条颜色

float dashArray1[] = {3, 2};

CGContextSetLineDash(context, 0, dashArray1, 2);//画虚线,可参考

CGContextMoveToPoint(context, 5, 70);//开始画线, x,y 为开始点的坐标

CGContextAddLineToPoint(context, 310, 70);//画直线, x,y 为线条结束点的坐标

CGContextStrokePath(context);//开始画线

//绘制虚曲线

CGContextSetRGBStrokeColor(context, 03, 02, 01, 1);//线条颜色

float dashArray2[] = {3, 2, 10};

CGContextSetLineDash(context, 0, dashArray2, 3);//画虚线

CGContextMoveToPoint(context, 5, 90);//开始画线, x,y 为开始点的坐标

CGContextAddCurveToPoint(context, 200, 50, 100, 400, 300, 400);

CGContextStrokePath(context);//开始画线

//绘制连续的曲线

CGContextSetLineWidth(context, 50);

float dashArray3[] = {3, 2, 10, 20, 5};

CGContextSetLineDash(context, 0, dashArray3, 5);//画虚线

CGContextSetStrokeColorWithColor(context, [UIColor greenColor]CGColor);

CGContextMoveToPoint(context, 5, 400);//开始画线, x,y 为开始点的坐标

CGContextAddCurveToPoint(context, 50, 200, 80, 300, 100, 220);//画三次点曲线

CGContextAddQuadCurveToPoint(context, 150, 100, 200, 200);//画二次点曲线

CGContextAddCurveToPoint(context, 240, 400, 10, 50, 300, 300);//画三次点曲线

CGContextStrokePath(context);//开始画线

//画一个方形图形 没有边框

CGContextSetRGBFillColor(context, 0, 025, 0, 05); //方框的填充色

CGContextFillRect(context, CGRectMake(5, 150, 100, 100)); //画一个方框

//画弧线

CGContextSetRGBStrokeColor(context, 03, 04, 05, 1);//线条颜色

CGContextAddArc(context, 180, 200, 50, 0, 180(M_PI/180), 0);

CGContextStrokePath(context);//开始画线

//画方形边框

CGContextRef context5 = UIGraphicsGetCurrentContext(); //设置上下文

CGContextSetLineWidth(context5, 30);

CGContextSetRGBStrokeColor(context5, 08, 01, 08, 1);

CGContextStrokeRect(context5, CGRectMake(5, 5, 300, 400));//画方形边框, 参数2:方形的坐标。

//画椭圆

CGRect aRect= CGRectMake(80, 80, 160, 100);

CGContextSetRGBStrokeColor(context, 06, 09, 0, 10);

CGContextSetLineWidth(context, 30);

CGContextAddEllipseInRect(context, aRect); //椭圆, 参数2:椭圆的坐标。

CGContextDrawPath(context, kCGPathStroke);

//画实心圆

CGContextFillEllipseInRect(context, CGRectMake(95, 195, 2000, 100));//画实心圆,参数2:圆坐标。可以是椭圆

//画一个菱形

CGContextSetLineWidth(context, 20);

CGContextSetStrokeColorWithColor(context, [UIColor blueColor]CGColor);

CGContextMoveToPoint(context, 100, 100);

CGContextAddLineToPoint(context, 150, 150);

CGContextAddLineToPoint(context, 100, 200);

CGContextAddLineToPoint(context, 50, 150);

CGContextAddLineToPoint(context, 100, 100);

CGContextStrokePath(context);

//填充了一段路径:

CGContextMoveToPoint(context, 100, 100);

CGContextAddLineToPoint(context, 150, 150);

CGContextAddLineToPoint(context, 100, 200);

CGContextAddLineToPoint(context, 50, 150);

CGContextAddLineToPoint(context, 100, 100);

CGContextSetFillColorWithColor(context, [UIColor redColor]CGColor);

CGContextFillPath(context);

d

在很多的游戏中,会有这么一个桥段,就是闯关成功后,会d出一个奖品同时出现很多的鲜花或者笑脸。例如微信中祝福生日时,出现蛋糕等等。那么,这次我就来实现这个功能。

本人的博文多写在博客园,欢迎浏览: >

测色计上选择“以sRGB显示”(注意,是 sRGB显示,不是RGB显示,不然颜色不准),然后会显示三个数,比如60,70,80,

然后你那个颜色代码就可以写成

[UIColor colorWithRed:60/2550 green:70/2550 blue:80/2550 alpha:10]

(注意,要除以2550,不能写成255,不然整数除以整数是整数,但实际上那个方法的参数需要的是float,小数类型)

以上就是关于ios rgb数据流慢怎么解决全部的内容,包括:ios rgb数据流慢怎么解决、ios 怎么获取cgcontextref绘制的图、iOS创建撒花动画等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9315454.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存