首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS学习——Quartz2D学习之UIKit绘制

iOS学习——Quartz2D学习之UIKit绘制 1、总述   在IOS中绘图技术主要包括:UIKit、Quartz 2D、Core Animation和OpenGL ES。...其中Core Animation提供动画实现技术,OpenGL ES是OpenGL针对嵌入式设备的简化版本,用以绘制高性能的2D和3D图形。这里主要UIKit和Quartz 2D。 UIKit。...涉及内容包括:基于路径的绘图,透明度绘图,遮盖,阴影,透明层,颜色管理,防锯齿渲染,生成PDF,以及PDF元数据相关处理。Quartz 2D也被称为Core Graphics,缩写前缀为CG。...在IOS上无论采用哪种绘图技术(UIKit、Quartz 2D、Core Animation和OpenGL ES),都离不开UIView,绘制都发生在UIView对象的区域内。...一旦drawRect:方法被调用,就可以使用任何的UIKit、Quartz 2D、OpenGL ES等技术对视图的内容进行绘制了。

1.5K20

iOS图形处理概论:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,Scene Kit (3D) ,Sprite Kit (2D),OpenCV

Graphics & Quartz 2D 传统跨平台图形框架 -- OpenGL ES 苹果最新力推的图形框架 -- Metal 适合图片的苹果滤镜框架 -- Core Image 适合视频的第三方滤镜方案...苹果封装的图形框架 -- Core Graphics & Quartz 2D Core Graphics Core Graphics是一套C-based API, 支持向量图形,线、形状、图案、路径、剃度...Quartz 2D Quartz 2D是Core Graphics中的2D 绘制呈现引擎。...Quartz 2D能够与所有的图形和动画技术(如Core Animation, OpenGL ES, 和 UIKit 等)一起使用。 Quartz 2D采用paint模式进行绘制。...图形环境Context Quartz 2D中使用的图形环境也由一个类CGContext表示。 在Quartz 2D中可以把一个图形环境作为一个绘制目标。

3.6K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UI进阶13 Quartz2DQuartz2D

    Quartz2D 什么是Quartz2D Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制...(输出目标可以是PDF文件、Bitmap或者显示器的窗口上) 相同的一套绘图序列,指定不同的Graphics Context,就可将相同的图像绘制到不同的目标上 Quartz2D提供了以下几种类型的Graphics...实现- (void)drawRect:(CGRect)rect方法,然后在这个方法中 取得跟当前view相关联的图形上下文 绘制相应的图形内容 利用图形上下文将绘制的所有内容渲染显示到view上面...的API是纯C语言的 Quartz2D的API来自于Core Graphics框架 数据类型和函数基本都以CG作为前缀 CGContextRef CGPathRef CGContextStrokePath...Graphics Context,因此,绘制的东西其实是绘制到view的layer上去了 View之所以能显示东西,完全是因为它内部的layer Quartz2D绘图的代码步骤 //1.获得图形上下文

    69630

    使用Quartz2D进行绘图1. Quartz2D2. 绘制基本图形

    Quartz2D Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac OS X系统(跨平台,纯 C 语言的)。包含在 Core Graphics 框架中。...Quartz 2D能完成的工作 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 饼状图、柱状图、折线图 自定义UI控件 ---- 注意...: Quartz 2D 是苹果官方的二维绘图引擎,同时支持 iOS 和 Mac OS X 系统。...Context Graphics Context 是一个数据类型(CGContextRef),用于封装 Quartz 绘制图像到输出设备的信息。...当用 Quartz 绘图时,所有设备相关的特性都包含在Graphics Context 中。通过给Quartz 指定不同的 Graphics Context,就可将相同的图像绘制到不同的设备上。

    61750

    《Quartz 2D编程指南》电子签名、图片处理(水印、裁剪以及屏幕截图)、常见图形的绘制(饼图、柱状图、雪花、手势密码、画板)

    2Dquartz 2D在iOS开发中的价值 quartz 2D能完成的工作 quartz 2D绘图的基础元素:路径 quartz 2D的内存管理 2、图形上下文 1)图形上下文的作用:保持绘图的信息、...output fidelity regardless of display or printing device. 1.1、quartz 2D能完成的工作 1》绘制图形、文字 2》绘制、生成图片(...技术将控件内部的结构画出来 ,自定义UI控件的样子 1.3、 quartz 2D须知 1)quartz 2D的API是纯C语言的 2)quartz 2D的API来自于Core Graphics框架...2)子路径可以包含一条或者多条直线或曲线 3)子路径也可以是一些简单的形状,例如线、圆形、矩形或者星型等 4)子路径还可以包含复杂的形状,例如地图轮廓或者涂鸦等 5)路径可以是开放的,也可以是封闭的...II 、图形上下文(graphics context) ---- 《Quartz 2D编程指南》之【graphics context】图形上下文的作用、分类、状态的保持、恢复 https://kunnan.blog.csdn.net

    78820

    Quartz2D实战-画板工具

    Quartz2D的API来自于Core Graphics框架,数据类型和函数基本都以CG作为前缀:CGContextRef、CGPathRef等。...我们发现该方法是在视图即将展示的时候调用的,在这个方法中可以获取到上下文,将试图绘制到View上,其实每一个View内部都有一个layer属性,这个方法中就可以了取得一个layer,所以我们绘制的东西其实是绘制到...Quartz2D提供的几种上下文类型: Bitmap Graphics Context PDF Graphics Context Window Graphics Context Layer Graphics...,则不需要释放 如果retain了一个对象,不再使用时,需要将其release掉 可以使用Quartz 2D的函数来指定retain和release一个对象。...注意不能传递NULL值给这些函数 实战-画板工具 了解了Quartz2D的基本知识后,我们就可以运用这些知识,进行一些综合的练习.

    44440

    图形

    一、概念 Core Graphics Framework Core Graphics Framework 是一套基于C的API框架,使用了Quartz作为绘图引擎。...它提供了低级别、轻量级、高保真度的2D渲染。...是一个数据类型(CGContextRef)、Quartz绘制图像到输出设备的信息都保存在其中,Graphics Context定义了基本的绘制属性,如颜色、裁减区域、线条宽度和样式信息、字体信息、混合模式等...,而视图对象把要显示的东西绘制在层上,待到需要显示时硬件将所有的层拷贝,然后按Z轴的高低合成最终的显示结果 view的完整显示过程 view.layer会准备一个Layer Graphics Contex...view的drawRect:方法 view就可以在drawRect:方法中实现绘图代码, 所有东西最终都绘制到view.layer上面 系统再将view.layer的内容拷贝到屏幕, 于是完成了view

    1.1K10

    杂谈 System.Drawing.Common 的跨平台性(关键词:libgdiplus .NET Core Mono Win32 Linux ……)

    我们小结一下: GDI+ 是 Windows 上的图形设备接口(Graphics Device Interface),用来完成一些和绘制有关的工作,用以解决不同应用程序开发者需要面向具体的硬件绘图造成的兼容负担...(类似的有 GTK 的 GDK/Xlib 还有 Mac 设备的 Quartz)。...目前 libgdiplus 还有一些没能完全实现的部分: 文本 libgdiplus 目前是自己实现的一套文本引擎,但 GDI+ 提供了 libgdiplus 不支持或不正确支持的许多(很少使用的)选项...这里给出一些推荐: SixLabors/ImageSharp: A modern, cross-platform, 2D Graphics library for .NET mono/SkiaSharp...: SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google’s Skia Graphics Library

    2.4K60

    iOS Quartz2D相关方法

    什么是Quartz2D?...Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片...自定义UI控件 Quartz2D在iOS开发中的价值 iOS中,大部分控件都是Quartz2D绘制出来的 绘制一些系统UIKit框架中不好展示的内容,例如饼图 自定义一些控件 不添加UI控件的情况下,...View内部有个layer(图层)属性,drawRect:方法中取得的是一个Layer Graphics Context,因此,绘制的东西其实是绘制到view的layer上去了 常用方法 CGPathAddLineToPoint...这个方法主要是画一条线 但是必须指定起点 //移动画笔位置 CGPathMoveToPoint(path, &transform, 100, 50); CGPathAddLineToPoint(path

    65520

    Quartz2D进行渲染1. 渲染模式2. even-odd rule:奇偶填充规则3. nonzero winding number rule:非零绕数规则4. 其他会用到的渲染模式5. 混合模式

    这一晃就到了2017年,这期间好多假期啊,圣诞节、元旦,还赶上了一次为期一周的封闭开发。距离上一次更新文章过去了三周多,好羞惭。...上一篇写了Quartz2D的一些基本用法,今天分享一下Quartz2D的渲染模式。 1....渲染模式 空心 StrokePath- 实心 FillPath 和 EOFillPath (填充) 填充一个路径的时候,路径里面的子路径都是独立填充的。...混合模式与常用的图形软件(如 Photoshop)的混合模式效果相同。有没有瞬间觉得高大上啊? 如果有兴趣继续深入了解,可以参考:官方文档。 在简书上,还看到过一篇连载,非常不错。...Falme 的Core Graphics - Quartz 2D Programming Guide(中文翻译版) 下一篇咱们就要开始聊一聊OC下的贝塞尔曲线绘制了。

    1.5K30

    Quartz2D复习(一)--- 基础知识 绘制线段圆弧 图片水印 截图

    1、Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统; Quart2D的API是纯C语言的,API来自于Core  Graphics框架: 2、Quartz 2D可以绘制图形(线段/三角形..., 就可将相同的图像绘制到不同的目标上,    Quartz2D提供了以下几种类型的Graphics Context :     1)Bitmap  Graphics  Context     2)PDF...) drawRect: (CGRect)rect;  方法,然后在这个方法中,可以去的跟当前view相关联的图形上下文; 绘制相应的图形内容(绘制时产生的线条称为路径,路径由一个或多个线段或曲线段组成)...layer(图层)属性,drawRect: 方法中取得的是一个Layer  Graphics  Context, 因此,绘制的东西其实是绘制到view的layer上去了。  ...该属性在一段文本上应用多个属性。如果不指定该属性,则默认为 NSParagraphStyle 的defaultParagraphStyle 方法返回的默认段落属性。

    2.6K10

    iOS开发——Core Graphics绘图

    CoreGraphics也称为Quartz 2D 是UIKit下的主要绘图系统,频繁的用于绘制自定义视图。Core Graphics是高度集成于UIView和其他UIKit部分的。...Core Graphics数据结构和函数可以通过前缀CG来识别。...自定义绘图大部分是由UIKit或者Core Graphics来实现的。 由于像素是依赖于目标的,所以2D绘图并不能操作单独的像素,我们可以从上下文(Context)读取它。...iOS常见的图形绘制 画线 画圆、圆弧、贝塞尔曲线 画矩形、椭圆形、多边形 绘制图片 绘制文字 ---- iOS绘图基础 在绘图之前,我们先来了解一下几个基本的概念 context:上下文,ios绘图的方法都需要传一个上下文...CGContextFillRects //填充指定的一些矩形 CGContextFillEllipseInRect //填充指定矩形中的椭圆 常见的图形绘制 准备工作 新建一个文件

    2.5K20

    iOS学习——Quartz2D学习(1)

    Quartz2D学习(1) 本文以问答形式主要讲述Quartz2D的相关内容,参考内容是网上下载的学习视频资料。 1、什么是Quartz2D?   ...他是一个二维的绘图引擎,同时支持iOS和Mac系统 2、Quartz2D能完成的工作   画基本线条,绘制文字,图片,截图,自定义UIView. 3、Quartz2D在开发中的价值   当我们的控件样式极其复杂时...UIView之所以能够显示就是因为他内部有一个图层) Printer Graphics Context 6.如何自定义UIView,步骤是什么? ...在调用这些方法之前,我们要进行一些其他的任务去确保正确的绘制path,以及path的设置。 使用UIColor类的方法去stroke和fill想要的颜色。...使用stroke和fill方法进行渲染时,不需要我们手动去获取上下文了,这两个方法会自定获取view的上下文,然后在该view上绘制渲染path对应的路径,stroke是绘制线,fill是填充path对应的封闭区域

    1.1K20

    OpenGL ES实践

    帧缓存 GPU需要知道应该在内存中那个位置存储渲染出来的2D图像像素数据,接受渲染结果的缓存区叫做帧缓存。...是Core Graphics的底层,用于连接硬件 而如果是离屏渲染,用于生成PDF和图片文件,Core Graphics则是与OpenGL ES处于并列关系 Yes, on iOS Core Graphics...这帮助我们确保更接近观察者的对象显示在远一些的对象的前面(意思就是离观察者近一些的对象会挡住在它后面的对象)。...其缺省的工作方式是:OpenGL把接近观察者的对象的所有像素存储到深度缓冲区,当开始绘制一个像素时,它(OpenGL)首先检查深度缓冲区,看是否已经绘制了更接近观察者的什么东西,如果是则忽略它(要绘制的像素...,就是说,在绘制一个像素之前,看看前面有没有挡着它的东西,如果有那就不用绘制了)。

    62310

    iOS开发框架深度解析

    二、Core OS层 1. Core Services Foundation: 提供了基本的数据结构和实用工具,如数组、字典、文件管理等。...Core Foundation: 为C语言开发者提供了一套与Foundation相似但更底层的API。 Core Text: 负责文本渲染和管理。...Core Graphics (Quartz): 提供2D图形渲染功能。 2. Core OS Services Mach: 提供了进程间通信和任务调度的功能。...三、Media层 Core Media: 支持音频和视频的同步播放和编辑。 Core Audio: 提供音频的录制、播放和处理功能。 Core Video: 为视频解码和播放提供了支持。...SpriteKit: 适用于2D游戏的框架。 七、总结 iOS开发框架为开发者提供了一个全面、稳定的开发环境。从底层的数据结构、图形渲染,到上层的用户界面和社交媒体集成,都有相应的框架支持。

    27910

    速读原著-Android应用开发入门教程(2D图形接口的程序结构)

    android.graphics 包中的内容是 Android 系统的 2D 图形 API,其中主要类的内容包含以下一些内容: Point、Rect 和 Color 等:一些基础类,分别定义顶点、矩阵、...Canvas 类包含了一系列用于绘制的方法,方法分为 3 种类型: 几何图形 文本 位图 Canvas 类的几何图形(Geometry)方面的方法用于绘制点、绘制线、绘制矩形、绘制圆弧等。..., float startAngle, float sweepAngle, // 绘制圆弧 boolean useCenter, Paint paint) Canvas 类的文本(Text)方面的方法用于直接绘制文本内容...Canvas 是 Android 的 2D 图形绘制的中枢,绘制方法的参数中通常包含一个 Paint 类型,它作为附加绘制的信息来使用。...android.graphics.drawable 包是 Android 中一个绘制相关的包,表示一些可以被绘制的东西。

    74110
    领券