IOS SWIFT基本画图教程

OS SWIFT基本画图教程

其实这是以前做过的一个例子,方便自己参考的代码!希望对大家也有点参考.

首先,建立一个Swift类,继承UIView这个类,然后重写

func drawRect(rect: CGRect)

其次,获取画笔的上下文

var context:CGContextRef =  UIGraphicsGetCurrentContext();//获取画笔上下文

CGContextSetAllowsAntialiasing(context, true) //抗锯齿设置

下面我们就可以编写画图形的代码了

1 画点

//画点

CGContextFillEllipseInRect(context, CGRectMake(75, 75, 50, 50))

2 画直线

//画直线
CGContextSetLineWidth(context, 5) //设置画笔宽度
CGContextMoveToPoint(context, 10, 20);        
CGContextAddLineToPoint(context, 100, 100);        
CGContextStrokePath(context)

3 画圆

 //画圆
CGContextAddEllipseInRect(context, CGRectMake(50,50,100,100)); //画圆
CGContextStrokePath(context) //关闭路径
        
//通过画弧画圆
//弧度=角度乘以π后再除以180
//角度=弧度除以π再乘以180
CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor) //设置画笔颜色
CGContextAddArc(context, 100, 100, 50, 0, CGFloat(270*M_PI/180), 0) //画弧
CGContextStrokePath(context)//关闭路径

4 画字符串

//画字符串
var str:NSString = "我是吴统威";
str.drawAtPoint(CGPointMake(100, 200), withAttributes: nil);

5 画图片

 //画图片
CGContextSetShadow(context, CGSizeMake(3, 3),10)
var img:UIImage = UIImage(named: "8")!;
img.drawAtPoint(CGPointMake(50, 250));
CGContextSetShadow(context, CGSizeMake(0, 0), 0)

6 使用PATH画图 

//使用path画图
 let p1:CGMutablePathRef = CGPathCreateMutable();
 CGPathMoveToPoint(p1, nil, 50, 250)
 CGPathAddLineToPoint(p1, nil, 50, 350)
 CGContextAddPath(context, p1)
 CGContextStrokePath(context)//关闭路径

这里主要是介绍基本的用法,其他复杂的图形,可以参照API文档,去调用相关的方法,画出自己想要的图形

附完整代码:

//
//  DrawingView.swift
//  study
//
//  Created by Tonway on 15/2/2.
//  Copyright (c) 2015年 Tonway. All rights reserved.
//

import UIKit

class DrawingView: UIView {
    
    
    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    override func drawRect(rect: CGRect) {
        // Drawing code
        
        var context:CGContextRef =  UIGraphicsGetCurrentContext();//获取画笔上下文
        
        
        CGContextSetAllowsAntialiasing(context, true) //抗锯齿设置
        
        //画点
        //CGContextSetLineWidth(context, 50);
        CGContextFillEllipseInRect(context, CGRectMake(75, 75, 50, 50))
        
        CGContextSetLineWidth(context, 5) //设置画笔宽度
        
        //画直线
        CGContextMoveToPoint(context, 10, 20);
        CGContextAddLineToPoint(context, 100, 100);
        CGContextStrokePath(context)
        
        //画圆
        CGContextAddEllipseInRect(context, CGRectMake(50,50,100,100)); //画圆
        
        CGContextStrokePath(context) //关闭路径
        
        
        //通过画弧画圆
        //弧度=角度乘以π后再除以180
        //角度=弧度除以π再乘以180
        CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor) //设置画笔颜色
        
        CGContextAddArc(context, 100, 100, 50, 0, CGFloat(270*M_PI/180), 0) //画弧
        
        
        CGContextStrokePath(context)//关闭路径
        
        
        
        //画字符串
        var str:NSString = "我是吴统威";
        
        str.drawAtPoint(CGPointMake(100, 200), withAttributes: nil);
        
        //画图片
        
        CGContextSetShadow(context, CGSizeMake(3, 3),10)
        
        var img:UIImage = UIImage(named: "8")!;
        
        img.drawAtPoint(CGPointMake(50, 250));
        
        
        // CGContextDrawImage(context, CGRectMake(100, 250, 100, 100),img.CGImage)
        
        CGContextSetShadow(context, CGSizeMake(0, 0), 0)
        
        //使用path画图
        let p1:CGMutablePathRef = CGPathCreateMutable();
        
        CGPathMoveToPoint(p1, nil, 50, 250)
        
        CGPathAddLineToPoint(p1, nil, 50, 350)
        
        CGContextAddPath(context, p1)
        CGContextStrokePath(context)//关闭路径
        
        
        
        
        
        
    }
    
    
}

效果图

本文属于吴统威的博客原创文章,转载时请注明出处及相应链接:http://www.wutongwei.com/front/infor_showone.tweb?id=85

时间: 2024-12-26 03:27:11

IOS SWIFT基本画图教程的相关文章

Apple Swift编程语言新手教程

Apple Swift编程语言新手教程 作者: 日期: gashero 2014-06-03 FROM:http://gashero.iteye.com/blog/2075324 文件夹 1   简单介绍 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简单介绍 今天凌晨Apple刚刚公布了Swift编程语言,本文从其公布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的

苹果Swift编程语言入门教程【中文版】

目录 1 简介 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简介 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束.Swift采用了安全的编程模式和添加现代的功能来是的编程更加简 单.灵活和有趣.界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向. Swift已经存在了多年.Apple基于已有的编译器.调试器.框架作为其基础架构.通过ARC(Aut

Apple Swift编程语言入门教程

目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束.Swift采用了安全的编程模式和添加现代的

Apple Swift中文入门教程【转发】

1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束.Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单.灵活和有趣.界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向. Sw

ios Swift 资源池

Swift入门教程: http://www.cocoachina.com/applenews/devnews/2014/0604/8661.html Swift视频教程: http://www.cocoachina.com/bbs/read.php?tid=204280 Swift官方文档(PDF版): http://www.cocoachina.com/bbs/read.php?tid=204446 Swift官方文档(网页版): https://developer.apple.com/lib

ios Swift 之github

1. 软件类 a) 作者集合 http://nondot.org/sabre/ b) swift for facebook SWIFT是一个易于使用的,基于注解的Java来创建勤俭节约序列化类型和服务库. https://github.com/facebook/swift 2. 游戏类 a)FlappySwift https://github.com/fullstackio/FlappySwift b) 2048 https://github.com/austinzheng/swift-2048

Swift编程语言入门教程

目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束.Swift采用了安全的编程模式和添加现代的

iOS 9 App Search教程

原文链接 : iOS 9 App Search Tutorial: Introduction to App Search 原文作者 : Chris Wagner 译文出自 : 开发技术前线 www.devtf.cn 译者 : kmyhy Ray 注:本文作为<iOS 9 Feast>中的一部分,节略自 <iOS 9 Tutorials>其中一章--通过本文,您可对全书内容窥见一斑.祝您阅读愉快! 在相当长的一段时间内,iOS 的 Spotlight 都是一个大坑.尽管用户可以用它来

苹果Swift编程语言新手教程【中国版】

Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新公布了一种编程语言Swift.据悉.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.对于广大开发人员来说,这无疑是一剂难以抗拒的兴奋剂.希望苹果Swift编程语言新手教程[中文版],能助你更迅速掌握好它. 注:本文从苹果官方所公布的书籍<The Swift Programming Language>中摘录和提取而成. 希望对各位的iOS&OSX开发有所帮助.[苹果官方教程下载地