iOS 使用drawRect: 绘制虚线椭圆

1:首先如果要使用 drawRect 绘图

要导入 CoreGraphics.framework 框架

然后 创建 自定义view, 即是 myView继承 UIView;

2: 重写

- (void)drawRect:(CGRect)rect

方法;

3:添加如下代码

- (void)drawRect:(CGRect)rect
{

    CGContextRef context = UIGraphicsGetCurrentContext();

    CGFloat lengths[] = {5,5,5,5};

     CGRect aRect= CGRectMake(60, 1,self.bounds.size.width-60*2,self.bounds.size.height-4);
     CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
     CGContextSetLineDash(context, 0, lengths, 4);
     CGContextSetLineWidth(context, 3.0);
     CGContextAddEllipseInRect(context, aRect); //椭圆
     CGContextDrawPath(context, kCGPathStroke);

}

主要函数

CGContextSetRGBStrokeColor(context, r, g, b, 1.0); 设置图形线的颜色;

CGContextSetLineDash(context, 0, lengths, 4); 设置线条为 虚线;

CGContextSetLineWidth(context, 3.0);      //设置线宽;

CGContextAddEllipseInRect(context, aRect); //画椭圆

CGContextDrawPath(context, kCGPathStroke);

参考:http://blog.csdn.net/zhangao0086/article/details/7234859

http://blog.csdn.net/zhibudefeng/article/details/8463268

iOS 使用drawRect: 绘制虚线椭圆

时间: 2024-11-06 09:26:46

iOS 使用drawRect: 绘制虚线椭圆的相关文章

IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等

转自:http://blog.csdn.net/zhibudefeng/article/details/8463268 [cpp] view plain copy // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { CGC

【转】IOS Quartz 各种绘制图形用法-实现画图片、写文字、画线、椭圆、矩形、棱形等

// Only override drawRect: if you perform custom drawing.// An empty implementation adversely affects performance during animation.- (void)drawRect:(CGRect)rect{ CGContextRef context = UIGraphicsGetCurrentContext(); /*NO.1画一条线 CGContextSetRGBStrokeCo

ios 画图,绘制坐标系,画坐标系

先来看个效果: 新建视图类,在直接添加代码: // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { // 获取当前环境 CGContextRef context = UIGraphicsGetCurrentContext()

iOS界面的绘制和渲染

界面的绘制和渲染 UIView是如何到显示的屏幕上的. 这件事要从RunLoop开始,RunLoop是一个60fps的回调,也就是说每16.7ms绘制一次屏幕,也就是我们需要在这个时间内完成view的缓冲区创建,view内容的绘制这些是CPU的工作:然后把缓冲区交给GPU渲染,这里包括了多个View的拼接(Compositing),纹理的渲染(Texture)等等,最后Display到屏幕上.但是如果你在16.7ms内做的事情太多,导致CPU,GPU无法在指定时间内完成指定的工作,那么就会出现卡

多媒体编程——ios视频图像绘制工具类。

IOS上视频级的图像绘制 ios上的图像绘制常规的是 UIView的drawRect函数,但是这个函数是异步触发,并且由主线程执行.虽然可以通过一定技巧达到主动绘制的效果: 1.传递图像给UIView缓存着. 2.然后调用UIView的setNeedDisplay 改写重绘标志. (以上两步是讲图像丢给UIView,让它自己进行绘制,但是绘制的时机不可控,有时候我们需要它马上绘制,甚至有时候我们需要知道它什么时候绘制完成了,就需要下面两步) 3.在播放线程中调用UIView的 perfromOn

绘制虚线的UIView

CAShapeLayer配合贝塞尔曲线可以绘制曲线,笔者继承了一个UIView的子类,并将改子类的backedLayer替换为CAShapeLayer,以此来实现绘制虚线的效果. 绘制出各种虚线的效果图: 实现的源码: LineDashView.h 与 LineDashView.m // // LineDashView.h // DASH // // 绘制虚线用的View // Copyright (c) 2014年 Y.X. All rights reserved. // #import <U

canvas学习总结三:绘制虚线

上一章节我们说到,线性路径的绘制,主要利用movoTo(),lineTo()等方法,当然 Canvas 2D API 也提供了虚线的绘制方法,CanvasRenderingContext2D.setLineDash(); 下面我们就来看看虚线的绘制方法 语法 ctx.setLineDash(segments); 参数 segments: 一个Array数组. 一组描述交替绘制线段和间距(坐标空间单位)长度的数字. 如果数组元素的数量是奇数, 数组的元素会被复制并重复.例如, [5, 15, 25

【转】Android Shape绘制虚线在手机端查看是实线的问题

Android share绘制虚线在手机上显示实线问题 原文博客链接:http://wv1124.iteye.com/blog/2187204 博客分类: Android 可以说这是一个Bug, 据说在4.0以上机器会出现,我测试是android 4.4.2 Xml代码   <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android

&quot;Android使用Shape绘制虚线,在4.0以上的手机显示实线&quot;解决方案

问题描述: 用以下代码绘制虚线: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" > <!--显示一条虚线,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap