quartz2D既可以绘制原始图形,也可以给原始图形绘制阴影。

绘制阴影时,需要的一些参数:上下文、阴影偏移量、阴影模糊系数

注意:在drawRect:方法中同时调用绘制同一个图形时,在对绘制的图形做绘制阴影处理前,需要先对上下文进行保存,绘制阴影成功后,还要对上下文进行复位,还原为最原始的上下文。目的是为了不影响后面的绘图操作。

举例的阴影绘制实例如下:

1、自定义一个视图类DemoView,并将控制器的视图关联该自定义类,同时在该定义类中重写- (void)drawRect:(CGRect)rect,将绘制无阴影图形和绘制阴影图形的调用方法写在里面。

    

//绘制无阴影图形和绘制阴影图形的调用方法

- (void)drawRect:(CGRect)rect
{
//画图形
//1.获取绘图的上下文
CGContextRef context = UIGraphicsGetCurrentContext(); //画带阴影的矩形
[self drawRectWithShadow:context]; //画不带阴影的矩形
[self drawRectWithNoShadow:context]; }

2、具体的绘制代码如下:

// 绘制无阴影的矩形

#pragma mark -画不带阴影的矩形

-(void)drawRectWithNoShadow:(CGContextRef)context
{
//3.添加矩形
CGContextAddRect(context, CGRectMake(, , , )); //4.设置绘图属性
[[UIColor redColor]setFill]; //填充色
[[UIColor blackColor]setStroke]; //描边 //5.画矩形
CGContextDrawPath(context, kCGPathEOFillStroke);
}

绘制的无阴影矩形截图为:

// 绘制带阴影的矩形

#pragma mark -画带阴影的矩形(阴影分为:无颜色(默认的)、有颜色的(设置颜色))

-(void)drawRectWithShadow:(CGContextRef)context
{
//保存旧的绘图上下文
CGContextSaveGState(context); //2.设置阴影(参数:上下文、阴影偏移量、阴影模糊系数)
//不带颜色的阴影
//CGContextSetShadow(context, CGSizeMake(10, 10), 10.0); //带颜色的阴影
CGContextSetShadowWithColor(context, CGSizeMake(, ), 10.0,[[UIColor purpleColor]CGColor]); //3.添加矩形
CGContextAddRect(context, CGRectMake(, , , )); //4.设置绘图属性
[[UIColor redColor]setFill]; //填充色
[[UIColor blackColor]setStroke]; //描边 //5.画矩形
CGContextDrawPath(context, kCGPathEOFillStroke); //恢复旧的绘图上下文
CGContextRestoreGState(context);
}

绘制的无颜色的阴影图形和有颜色的阴影图形截图为:

      

iOS:quartz2D绘图(给图形绘制阴影)的更多相关文章

  1. HTML5 给图形绘制阴影(绘制五角星示例)

    几个属性 shadowOffsetX:阴影的横向位移量. shadowOffsetY:阴影的纵向位移量. shadowColor:阴影的颜色. shadowBlur:阴影的模糊范围. 属性说明 sha ...

  2. Canvas 给图形绘制阴影

    /** * 图形绘制阴影 */ function initDemo6() { var canvas = document.getElementById("demo6"); if ( ...

  3. Matlab绘图基础——图形绘制的插值  以及 图像大小的重采样

    使用说明:图形绘制时的插值 interp1   %1-D data interpolation interpft  %使用fft算法插值     %将原数据x转换到频率域,再逆转换回来更密集的数据采样 ...

  4. iOS:quartz2D绘图(显示绘制在PDF上的图片)

    quart2D既可以用来绘制图像到pdf上,也可以从pdf上读取图像并显示出来.在使用这种方式之前,还有一种方式可以用来读取显示pdf上的图像,即使用UIWebView网页视图控件- (void)lo ...

  5. iOS:quartz2D绘图 (动画)

    quartz2D可以用来绘制自己需要的图形,它们绘制出来的是一个静态的图形,那么如何绘制一个动态的图形呢?动态的图形就是动画,所谓动画,其实就是很多张图片在短时间内不停的切换所产生的一种视觉效果.qu ...

  6. Matlab绘图基础——图形绘制的插值

    interp1   %1-D data interpolation interpft  %使用fft算法插值     %将原数据x转换到频率域,再逆转换回来更密集的数据采样点 spline    %一 ...

  7. [html] 学习笔记-Canvas图形绘制处理

    使用Canvas API 可以将一个图形重叠绘制在另外一个图形上,也可以给图形添加阴影效果. 1.Canvas 图形组合 通过 globalCompositeOperation = 属性 来指定重叠效 ...

  8. iOS:quartz2D绘图(处理图像,绘制图像并添加水印)

    绘制图像既可以重写drawRect:方法并在该方法中绘制,也可以不用重写该方法,它有封装好的函数获取自己的图像绘制上下文,即UIGraphicsBeginImageContext(CGSize siz ...

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

    iOS学习——Quartz2D学习之UIKit绘制 1.总述 在IOS中绘图技术主要包括:UIKit.Quartz 2D.Core Animation和OpenGL ES.其中Core Animati ...

随机推荐

  1. VS Code使用

    VS Code使用了有一段时间了,感觉各方面表现蛮好的,当然主要还是基于electron开发的,(有源代码,想改啥就改啥,当然现在也没有改什么,没那么时间,也没有那么多精力),性能不错,其实中间主要还 ...

  2. Linux下cp命令的使用说明

    [root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)[root@www ~]# cp [options] source1 source2 ...

  3. 【转载】WebService到底是什么?

    http://blog.csdn.net/wooshn/article/details/8069087/ 一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍 ...

  4. CentOS7.5安装配置conky(极简)

    1.安装epel源 下载地址:http://dl.fedoraproject.org/pub/epel/ 找到epel-release-XXXXXXX.rpm文件,下载解压 rpm -ivh epel ...

  5. 部署Centos7

    挂载和导入镜像 mount /dev/cdrom /media ll /media/ cobbler import --path=/media --name=centos7.4 --arch=x86_ ...

  6. Codeforces 1082 D. Maximum Diameter Graph-树的直径-最长链-构造题 (Educational Codeforces Round 55 (Rated for Div. 2))

    D. Maximum Diameter Graph time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  7. qwb与学姐 (带秩并查集)

    qwb与学姐 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 149  Solved: 54[Submit][Status][Web Board] Des ...

  8. JZYZOJ1457 [NOIP2016]换教室 期望dp 动态规划 floyd算法 最短路

    http://172.20.6.3/Problem_Show.asp?id=1457 我不知道为什么我倒着推期望只有80分,所以我妥协了,我对着题解写了个正的,我有罪. #include<cst ...

  9. [BZOJ 3326] 数数

    Link: BZOJ 3326 传送门 Solution: 明显是一道数位$dp$的题目,就是递推式复杂了点 先要求出一个数$\bar{n}$向添加一位后的$\bar{np}$的转化关系 令$res[ ...

  10. AGC 016 C - +/- Rectangle

    题面在这里! 结合了贪心的构造真是妙啊2333 一开始推式子发现 权是被多少个w*h矩形覆盖到的时候 带权和 <0 ,权都是1的时候带权和 >0,也就是说被矩形覆盖的多的我们要让它尽量小. ...