画图时 自己做的一小笔记

0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文
1 CGContextMoveToPoint 开始画线
2 CGContextAddLineToPoint 画直线

4 CGContextAddEllipseInRect 画一椭圆
4 CGContextSetLineCap 设置线条终点形状
4 CGContextSetLineDash 画虚线
4 CGContextAddRect 画一方框
4 CGContextStrokeRect 指定矩形
4 CGContextStrokeRectWithWidth 指定矩形线宽度
4 CGContextStrokeLineSegments 一些直线

5 CGContextAddArc 画已曲线 前俩店为中心 中间俩店为起始弧度 最后一数据为0则顺时针画 1则逆时针
5 CGContextAddArcToPoint(context,0,0, 2, 9, 40);//先画俩条线从point 到 弟1点 , 从弟1点到弟2点的线 切割里面的圆
6 CGContextSetShadowWithColor 设置阴影
7 CGContextSetRGBFillColor 这只填充颜色
7 CGContextSetRGBStrokeColor 画笔颜色设置
7 CGContextSetFillColorSpace 颜色空间填充
7 CGConextSetStrokeColorSpace 颜色空间画笔设置
8 CGContextFillRect 补充当前填充颜色的rect
8 CGContextSetAlaha 透明度

9 CGContextTranslateCTM 改变画布位置
10 CGContextSetLineWidth 设置线的宽度
11 CGContextAddRects 画多个线
12 CGContextAddQuadCurveToPoint 画曲线
13 CGContextStrokePath 开始绘制图片
13 CGContextDrawPath 设置绘制模式
14 CGContextClosePath 封闭当前线路
15 CGContextTranslateCTM(context, 0, rect.size.height); CGContextScaleCTM(context, 1.0, -1.0);反转画布
16 CGContextSetInterpolationQuality 背景内置颜色质量等级
16 CGImageCreateWithImageInRect 从原图片中取小图

17 字符串的写入可用 nsstring本身的画图方法 - (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(UILineBreakMode)lineBreakMode alignment:(UITextAlignment)alignment;来写进去即可

18对图片放大缩小的功能就是慢了点
UIGraphicsBeginImageContext(newSize);
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

19 CGColorGetComponents() 返回颜色的各个直 以及透明度 可用只读const float 来接收 是个数组

20 画图片 CGImageRef image=CGImageRetain(img.CGImage);
CGContextDrawImage(context, CGRectMake(10.0, height -
100.0, 90.0, 90.0), image);

21 实现逐变颜色填充方法 CGContextClip(context);
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
CGFloat colors[] =
{
204.0 / 255.0, 224.0 / 255.0, 244.0 / 255.0, 1.00,
29.0 / 255.0, 156.0 / 255.0, 215.0 / 255.0, 1.00,
0.0 / 255.0, 50.0 / 255.0, 126.0 / 255.0, 1.00,
};
CGGradientRef gradient = CGGradientCreateWithColorComponents
(rgb, colors, NULL, sizeof(colors)/(sizeof(colors[0])*4));
CGColorSpaceRelease(rgb);
CGContextDrawLinearGradient(context, gradient,CGPointMake
(0.0,0.0) ,CGPointMake(0.0,self.frame.size.height),
kCGGradientDrawsBeforeStartLocation);

22 注: 画完图后,必须
先用CGContextStrokePath来描线,即形状
后用CGContextFillPath来填充形状内的颜色.


填充一个路径的时候,路径里面的子路径都是独立填充的。
假如是重叠的路径,决定一个点是否被填充,有两种规则
1,nonzero winding number rule:非零绕数规则,假如一个点被从左到右跨过,计数器+1,从右到左跨过,计数器-1,最后,如果结果是0,那么不填充,如果是非零,那么填充。
2,even-odd rule: 奇偶规则,假如一个点被跨过,那么+1,最后是奇数,那么要被填充,偶数则不填充,和方向没有关系。


Function
Description
CGContextEOFillPath
使用奇偶规则填充当前路径
CGContextFillPath
使用非零绕数规则填充当前路径
CGContextFillRect
填充指定的矩形
CGContextFillRects
填充指定的一些矩形
CGContextFillEllipseInRect
填充指定矩形中的椭圆
CGContextDrawPath
两个参数决定填充规则,kCGPathFill表示用非零绕数规则,kCGPathEOFill表示用奇偶规则,kCGPathFillStroke表示填充,kCGPathEOFillStroke表示描线,不是填充


设置当一个颜色覆盖上另外一个颜色,两个颜色怎么混合
默认方式是
result = (alpha * foreground) + (1 - alpha) * background

CGContextSetBlendMode :设置blend mode.
CGContextSaveGState :保存blend mode.
CGContextRestoreGState:在没有保存之前,用这个函数还原blend mode.
CGContextSetBlendMode 混合俩种颜色
麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统) 部署ffmpeg用来处理视频的各种操作,如编码解码,格式转换,剪辑,处理实时视频流,音频流,加滤镜等 阅读详情

相关推荐

STM32F407单一定时器输出4路不同频率及占空比的PWM波

STM32F407单一定时器输出4路不同频率及占空比的PWM波

qq_43868701的博客 4920

C4 model技术架构图--context图

C4 model技术架构图–context图 在设计系统架构图时,包括常见的技术架构图和业务架构图。 技术架构图架构图不止在前期设计系统时重要,在后期开发或者维护的时作为指导也同样重要。 一.关于C4 model 官方网址 属于技术架构图的一种格式,C4 分别表示上下文(Context)、容器(Container)、组件(Component)和代码(Code)。四个层次,分别对应不同的角度。 C4 model 架构图的系统拆分,其实与微服务拆分和DDD领域拆分的思想非常像。拆分的合理,才能保证系统的开发

LitongZero的博客 4273

基本模型 PINNs : Physics Informed Neural Networks

系列最开始当然要提到很经典的文章 —— Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations 。 这篇文章是布朗大学的助理教授Maziar Rais...

waitingwinter的博客 3万+

Context结构图

http://blog.youkuaiyun.com/qinjuning/article/details/7310620

tuhuolong的专栏 1188

VSCode连接SAP ABAP开发环境

本文介绍了使用VSCode连接ABAP开发环境的详细步骤。首先通过SICF或SMICM事务码获取ABAP连接地址,然后安装ABAP remote filesystem插件。提供了两种创建连接的方法:通过命令面板逐步配置(输入服务器地址、账号、系统标识等)或直接编辑JSON配置文件。最后通过命令面板选择已创建的连接即可完成连接,连接成功后可在VSCode左侧工作区查看ABAP系统内容进行开发。JSON配置方式更为简便推荐。整个流程帮助开发者摆脱复杂的Eclipse配置,实现快速便捷的ABAP开发环境搭建。

weixin_45293769的博客 2217

Neo4j 智能供应链应用源代码简析

本文简析Neo4j智能供应链应用的源代码,让你也可以快速开发自己的供应链应用。

Neo4j 开发者博客 1681

Quartz画图函数笔记

转自:http://www.cocoachina.com/bbs/read.php?tid-75122.html   0  CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContextAddLineToPoint 画直线4 CGContextAddEllipse...

zani的博客 336

华为OD机考 新系统真题 【区分奇偶的数组排序】

华为OD机试 新系统真题【区分奇偶的数组排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【区分奇偶的数组排序】多语言题解。

qq_45776114的博客 515

系统架构设计笔记(35)—— 结构化分析与设计

结构化分析与设计方法是一种面向数据流的需求分析和设计方法,它适用于分析和设计大型数据处理系统,是一种简单 、 实用的方法,曾获得广泛的应用。 1 结构化分析 结构化分析方法的基本思想是自顶向下逐层分解。分解和抽象是人们控制问题复杂性的两种基本手段。对于一个复杂的问题,人们很难一下子考虑问题的所有方面和全部细节,通常可以把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题,经过多次逐层分解,每个最底层的问题都是足够简单 、 容易解决的,于是复杂的问题也就迎刃而解了。这个过程就是分解过程。 结构化

读万卷书,行万里路 4775

提高RFID检测距离以及检测速度的方法总结

摘要:提高RFID检测距离需优化阅读器功率、标签灵敏度、天线设计及频段选择,同时减少环境干扰;提升检测速度则需改进防碰撞算法、增强并行处理能力、精简数据传输。实际应用需平衡两者关系,如物流仓储采用UHF频段、高增益天线和动态Q算法实现远距离高速读取,ETC系统则通过微波频段和高速调制实现超远距离快速识别。不同场景需针对性优化硬件配置和系统参数。

start_up_go的博客 293

Flink Web UI 如何使用和调试保姆级教程(持续更新)

Running Jobs(运行中的作业):显示正在运行的所有 Flink 作业的列表。每个作业都有一个独特的 Job ID,可以点击进入查看作业的详细信息。Completed Jobs(已完成的作业):显示已经完成或取消的作业列表。:显示当前集群中所有 TaskManager 的健康状态,包括 CPU 使用率、内存使用情况、Slot 数量等。Job Manager Configuration(JobManager 配置):显示 JobManager 的一些配置参数,帮助调试和优化 Flink 集群。

大模型大数据攻城狮的专栏 3992

绘制简单的矩形

绘制简单的矩形 一;这里canvas 提供里矩形绘制的三个方法 用于清除内容:clearRect(x,y,width,height) 描边:strokeRect(x,y,width,height) 填充:fillRect(x,y,,width,height) 二:strokeRect()的一些属性 lineJoin,指定矩形边角的形状:这一属性的默认值是 "miter",它说明了两条线

qq_20725287的专栏 504

工业相机的检测原理课件(建议收藏)

本课件为各位工程师详细介绍了工业相机的视觉检测原理 ,旨在为工程师调试工业相机的视觉检测原理时提供理论性指导。

Bamboo265925的博客 498

【转】画图时 自己做的一小笔记

转自:http://www.cocoachina.com/bbs/read.php?tid=75122&page=10CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文1 CGContextMoveToPoint 开始画线2 CGContextAddLineToPoint 画直线4 CGContextAdd...

dishuangqing3232的博客 100

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

iOS画图时 自己做的一小笔记

CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 CGContextMoveToPoint 开始画线 CGContextAddLineToPoint 画直线 CGContextAddEllipseInRect 画一椭圆 CGContextSetLineCap 设置线条终点形状 CGContextSe

到底是天堂还是地狱... 492

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

我在计算机课上画图的英语,在计算机中画图 课件.ppt

图案保存结束后,若要关闭画图程序,只需要单击窗口右上角的 X 按钮即可。 方法2方法1二、操作步骤1).单击工具箱中 工具按扭,在绘图区按下鼠标左键拖动画出一个椭圆,表示熊猫的头部; 2).选取 工具按钮来画一大一小的两个小圆,用于组成眼睛。 9).着色 给熊猫着色,会使之更漂亮; 单击 按钮,在调色板中选择相应的颜色,给熊着...

weixin_39949607的博客 148

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

画图板编写总结及心得

      关于画图板程序的编写实践...实在是个让我纠结到蛋疼的事,我从一开始就跟熊哥教的方法不一致,而这是由于之前翘课,左哥给我补课的时候,又很水的只讲了一小部分就让我们去做...其结果就是,我写这个程序的思路和结构跟熊哥他们的完全不一致...以至于...我的代码分了4个类,写了足足600多行代码,还不算注解...实现功能的时候也就又各种报错......庆幸的是终于做完了,这个坑爹的程序,废话...

iteye_1472的博客 314

C# 画图画不出来的解决办法

刚学GDI+画图的时候,画线就是画不出来,代码如下: public Form1(){InitializeComponent();Graphics g = this.CreateGraphics();Pen p = new Pen(Color.Black);g.DrawLine(p, 10, 10, 20, 20);} .csharpcode, .csharpcode ...

weixin_30263073的博客 1280

matplot画图控制marker点的个数_有关EasyX画图的一些小技巧——张雨昕

Part 01EasyX 是什么?EasyX 是针对 C/C++ 的图形库,可以帮助使用C/C++语言的程序员快速上手图形和游戏编程。比如,可以用 VC + EasyX 很快的用几何图形画一个房子,或者一辆移动的小车,可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏,可以练习图形学的各种算法,等等。Part 02来看一个例子以上的代码可以创建一个简单的登录界面。下面来说一说与画图有关的部分。i...

weixin_39999781的博客 374

Tableau画图笔记

最近在学习如何用Tableau画图,记录一下 条形图与柱状图 条形图是用来观察数据每个类别的大小,而直方图是主要用来观察数据的分布

weixin_43859153的博客 417

用计算机画图说课稿,“认识画图软件”说课稿.doc

“认识画图软件”说课稿九年义务教育小学信息技术《认识新朋友—画图工具》说课稿(一)说学生计算机在小学生心目中就是一种很神奇的东西,总是揭不穿,摸不透的东西,有一很强的好奇心,对它产生了浓厚的兴趣,同学们有信心、有决心把计算机学好,有一点不懂举手就问,直到弄懂为止,有很强的求知欲,具有时代节奏感。但是也有一小部同学对计算机(微机)课没有清醒的认识,总觉得除了语文、数学,其它的都是杂课,无所谓,可上可...

weixin_36110673的博客 291

用计算机画画教学设计,电脑画图《小池荷叶圆圆》圆工具使用教学设计

小池荷叶圆圆(龙教版小学信息技术第二册第五课)哈尔滨市阿城区玉泉中心小学校雷长娟【摘要】学生能在设置不同的前景颜色和背景颜色后分别用鼠标左键、右健和三种不同的样式组合,画出不同风格的椭圆形。【关键词】椭圆网络自主性【教材分析】本课是龙教版小学信息技术第二册第五课,本课是学生开始系统的学习“画图”工具箱中工具的开始。先从椭圆工具开始讲解,这样安排的目的是从学习的兴趣入手,让学生通过学习了椭圆工...

weixin_36110673的博客 432

vscode中使用graphviz画图出现:failed to execute WindowsPath(‘dot‘)报错解决方式

解决方法为:1. 在官网下载graphviz的压缩包或安装文件,找个地方放好2. 下载到本地后把安装目录放置到环境变量path中,且结尾为bin目录而不是bin/dot.exe3. 如果之前没有pip install graphviz大概需要安装一下4. 重启IDE。

2301_76258762的博客 1390

Markdown笔记:痛苦与挣扎

单机版 Typora 在琳琅满目的Markdown编辑器中,Typora的确让人惊艳。用一句话形容就是小而美。它最吸引我我的地方是所见即所得,你可以在打字的同时实时预览,关键还是免费的。Typora给人的印象是非常干净,不花哨,却很优雅,书写体验一流。 Typora还提供了丰富的主题可供切换,除了内置主题,Typora官方也提供了许多优秀的主题可供下载,安装方式极其简单,只需要将下载的主题解压到Typora的主题文件夹下即可。Typora的主题其实就是CSS文件,如果你是一个前端开发者,定制主题那就是小菜一

陈戏猿 747

MarkDown教程画图篇1(typora)

MarkDown教程画图篇1(typora) 基础篇视频讲解链接 画图篇视频讲解链接 九、利用Markdown画图(需勾选扩展语法) markdown画图也是轻量级的,功能并不全。 Mermaid 是一个用于画流程图、状态图、时序图、甘特图的库,使用 JS 进行本地渲染,广泛集成于许多 Markdown 编辑器中。Mermaid 作为一个使用 JS 渲染的库,生成的不是一个“图片”,而是一段 HTML 代码。 (不同的编辑器渲染的可能不一样) 1、流程图(graph) 1>概述 graph 方向描述

Hi 8103
上一篇: 让Xcode 4.2生成的app支持旧版iOS设备(armv6)
下一篇: iPhone开发之 ARC是什么
iteye_3205
博客等级 码龄8年 0粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值