CoreGrapics总结(1)

(绘图方法有UIkit框架下的和Core Graphics)

1上下文 在iOS总的到上下文的有3个地方drawRect:

2.drawLayer:(CALayer*)layer inContent:(CGContextref)ctx

3.自己获取到上下文UIGraphicsBeginImageContect()(主要用于图片处理)

————————1Core Graphics

画图形:基于点的 1.路径 CGContextMoveToPoint CGContextAddLineToPoint...

2 花一个矩形CGContextAddRect......

3.画椭圆CGContextAddEllipseInRect

3画弧形CGContextAddArcToPoint

4j基于贝塞尔曲线 CGContextAddQuadCurveToPoint CGContextAddCurveToPoint

创建路径

二.绘制路径1.(分开画路径和填充操作)如基于3个点可以调用CGContextClosePath(会在起点和终点追加一条线注意后面还要调用CGContextStrokePath)

2描边或填充CGContextStokePath CGContextFillPath CGContextEOFillPath CGContextDrawPath(此函数会自动描边加填充)

2.描边绘制或填充一体的函数CGContextStrokeRect(矩形并且描边) CGContextStrokeRectWithRect 2.CGContextFillRect(填充)后面还有椭圆

3.注意里面还有一个CGContextClearRect(抹去一个区域并且裁剪像一个空洞)这个函数裁剪出留下的空白区域的效果 主要影响是上下文透明还是不透明 如果背景色为空或者alpha不是1出来的都是透明的背景色 否则是黑块

三 上面基于路径的绘制 还可以哟CGPath来构建路径(有几个优点 如果一段路径要重用或共享 或者对路径有一些形变因为有一个CGAfiineTransform属性)

四.画图片

对于以一个函数 他会自动重复绘制

第二个CGContextDrawImage才正常绘制

…….但是在绘制回来我们发现图片颠倒了(因为本地坐标原点默认在左上角 二上下文的坐标原点在左下角 不匹配造成)

2.UIKit

1….如UIImage NSString UIBezierPath.UIColor那些读有自己的绘制方法比如UIImage

drawAtPoint….(贝塞尔曲线下面讲)

2.UIBeizerPath 1.自己自定义路径创建贝塞尔曲线用+(instancetype)bezierPath

填充或描边对应的方法 stroke fill (closePath)也会

在起点和终点追加一条线

2.2我们主要看二阶和三阶的贝塞尔曲线

2.2.1三阶的 在Core Graphics中也有添加添加贝塞尔曲线

-addCurvePoint:controlPoint1:controlPoint2

里面有两个控制点一个起点和一个终点

用MoveToPoint设置一个起点

2.2.2二阶

addQuadCureToPoint...

绘制虚线

setLineDash:count:phase

3 用UIKit的UIGraphicsBeginImageContentWithOptions(主要用于图片的处理)

3.1图片的平移

注意里面两个参数第er个是透明 如果我们传入yes的话是透明的没有任何效果等于空白所有传no

..第3个是图片的缩放比例(0-1);

3.2图片的缩放

(里面对于底部图片放大了..对于方法里面一个CGBlendModel是混合的样式)

里面宏主要有下面的种类

KCGBlendModelNormal

KCGBlendModelMultiply

KCGBlendModelScreen

KCGBlendModelOverlay

KCGBlendModelDarken

KCGBlendModelLighten

KCGBlendModelColorBurn

KCGBlendModelSortLight

KCGBlendModelHardLight

KCGBlendModelDifference

KCGBlendMdoelExclusion

KCGBlendModelHue

KCGBlendModelSaturation

KCGBlendModelColor

KCGBlendMdoelLuminosity

……..

Normal

Mutiply

Screen

Overlay…….

下面列出了部分的效果图

这些都是处理重叠部分的样式

3.3图片的裁剪(因为UIimage没有提供截图指定区域的功能 ?我们采用的方式是 创建一个较小的图形上下文 并且把图片移动到上下文中 指定区域的图片就会被获取)

当然上面是我们只是截取一左边部分 如果截取右半部分的话我们只需要把起点坐标位置设置成负的(这是通过操作上下文)

3.3.2我们通过操作图片来裁剪(前面说到了UIimage办不到 所有我们用CGImage 他可以获取原始图片中指定区域的图片然后我们转成UIImage)

我们这边处理下图片倒置的问题 第一个函数是改变坐标的起点

今天我们就分享这些吧后面还有很多继续哦(*^__^*) 嘻嘻……

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容

  • --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益...
    韩七夏阅读 2,720评论 2 10
  • Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低...
    ShanJiJi阅读 1,526评论 0 20
  • Quartz2D以及drawRect的重绘机制字数1487 阅读21 评论1 喜欢1一、什么是Quartz2D Q...
    PurpleWind阅读 767评论 0 3
  • 今天是10月10号,日子不错,天气不太好哦,整整一天都是淅沥沥的小雨,烟台的妖风又开始作孽了。不过我还年轻啊,身...
    正小心阅读 150评论 0 0
  • 夜深人静,酣梦初醒。 空荡荡的房间,萦绕着你熟悉的声音。不知从何时起,你这样毫无征兆的闯入我的生活。不知从何时起,...
    顾知涯阅读 527评论 12 9