CoreGraphics-基本图形绘制-直线、三角形、矩形、椭圆形、弧形
框架:CoreGraphics
步骤:
1、“获取”图形上下文 let cxtRef = UIGraphicsGetCurrentContext()!
2、添加路径
3、渲染
--- cxtRef.strokePath() :描边,只画线条
--- cxtRef.fillPath() :填充,负责里面的内容,不管边线
注意:cxtRef.closePath() --- 关闭路径 -> 将路径的终点向起点连线
-----------------------------------------------------------------------------------------------------------------------------------------
直线:
private func zhiXian(){
// 1、“获取”图形上下文对象
let cxtRef = UIGraphicsGetCurrentContext()!
// 2、添加直线路径
cxtRef.move(to: CGPoint(x: , y: ))
cxtRef.addLine(to: CGPoint(x: , y: ))
// 3、描边渲染
cxtRef.strokePath()
}
三角形:
private func sanJiaoXing(){
// 1、“获取”图形上下文对象
let cxtRef = UIGraphicsGetCurrentContext()!
// 2、添加三角形路径
let point1 = CGPoint(x: , y: )
let point2 = CGPoint(x: , y: )
let point3 = CGPoint(x: , y: )
// cxtRef.addLines(between: [point1,point2,point3])
cxtRef.move(to: point1)
cxtRef.addLine(to: point2)
cxtRef.addLine(to: point3)
// 3、关闭路径 -> 将路径的终点向起点连线
cxtRef.closePath()
// 4、渲染
// stroke - 描边,只画线条
// cxtRef.strokePath()
// fill - 填充,负责里面的内容,不管边线
cxtRef.fillPath()
}
矩形:
private func juXing(rect:CGRect){
// 1、获取图形上下文对象
let cxtRef = UIGraphicsGetCurrentContext()!
// 2、添加矩形路径
cxtRef.addRect(CGRect(x: , y: , width: , height: ))
// 3、描边渲染
cxtRef.strokePath()
}
椭圆形:
private func tuoYuanXing(){
// 1、获取图形上下文对象
let cxtRef = UIGraphicsGetCurrentContext()!
// 2、添加椭圆形路径 - 内切圆
cxtRef.addEllipse(in: CGRect(x: , y: , width: , height: ))
// 3、描边渲染
cxtRef.strokePath()
}
弧形:
private func huXing(){
// 1、获取图形上下文对象
let cxtRef = UIGraphicsGetCurrentContext()!
// 2、添加弧形路径
// clockwise: true - 逆时针;false - 顺时针
cxtRef.addArc(center: CGPoint(x:,y:), radius: , startAngle: , endAngle: CGFloat(M_PI_4), clockwise: false)
// 3、描边渲染
cxtRef.strokePath()
}
CoreGraphics-基本图形绘制-直线、三角形、矩形、椭圆形、弧形的更多相关文章
- 【Qt开发】Qt在QLabel(QWidget)鼠标绘制直线和矩形框
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://devbean.blog.51cto.com/448512/243546 说实话, ...
- ☀【canvas】直线 / 三角形 / 矩形 / 曲线 / 控制点 / 变换
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- OpenCV绘制直线,矩形和园
首先导入我们所需要的库: import numpy as np import cv2 import matplotlib.pyplot as plt 自定义显示图像的函数: def show(imag ...
- Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)
控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...
- (转载)C# GDI+ 画简单的图形:直线、矩形、扇形等
GDI+是一种绘图装置接口, 当拖动窗体是,窗体发生移动,window默认为从窗体移动到另一个地方,先发生擦除后再重新画一个窗体: 而我们自己动手画的图(如下面的线),不会重新画:在属性中,Paint ...
- iOS:quartz2D绘图(画一些简单的图形,如直线、三角形、圆、矩形、文字等)
前一篇几乎已经详细介绍了Quartz2D的所有知识,这一篇以及后面就不废话了,主要是用具体的实例来演示绘图效果. 这里我们先来绘制一些简单的图形(如直线.三角形.圆.矩形.文字.图像),它有两种方式可 ...
- 使用原生JavaScript的Canvas实现拖拽式图形绘制,支持画笔、线条、箭头、三角形、矩形、平行四边形、梯形以及多边形和圆形,不依赖任何库和插件,有演示demo
前言 需要用到图形绘制,没有找到完整的图形绘制实现,所以自己实现了一个 - - 一.实现的功能 1.基于oop思想构建,支持坐标点.线条(由坐标点组成,包含方向).多边形(由多个坐标点组成).圆形(包 ...
- OpenCV——基本图形绘制(椭圆、圆、多边形、直线、矩形)
//绘制椭圆 void DrawEllipse(Mat img, double angle) { ; ; ellipse(img, Point(WINDOW_WIDTH / , WINDOW_WIDT ...
- IOS开发 图形绘制,绘制线条,矩形,和垂直和居中绘制文字
概述 吐槽下IOS下 的图形绘图,代码冗长,不得不自己重新封装方法.整理形成本文. 绘制线 // 绘制直线 + (void)toDrawLineFromX:(CGFloat)x1 Y:(CGFloat ...
随机推荐
- JavaScript知识 一、JS的数据类型
一.JS的数据类型 1.基本类型 JS共有5大基本类型,分别是: 1)Undefined.他只有一个值:undefined.如果一个变量被定义但是没有给他赋值,那么这个时候系统会默认给这个变量赋值为u ...
- 深入学习jQuery的三种常见动画效果
× 目录 [1]显隐效果 [2]高度变化 [3]淡入淡出 前面的话 动画效果是jQuery吸引人的地方.通过jQuery的动画方法,能够轻松地为网页添加视觉效果,给用户一种全新的体验.jQuery动画 ...
- 深入理解javascript中的焦点管理
× 目录 [1]焦点元素 [2]获得焦点 [3]失去焦点[4]焦点事件 前面的话 焦点作为javascript中的一个重要功能,基本上和页面交互都离不开焦点.但却少有人对焦点管理系统地做总结归纳.本文 ...
- Android之TabActivity的使用
TabActivity实现多页显示效果 由于手机屏幕有限,所以我们要尽量充分利用屏幕资源.在我们的应用程序中通常有多个Activity,而且会经常切换显示,这样我们就可以用TabActivity来显示 ...
- android模拟器默认位置的修改
1.创建ANDROID_SDK_HOME环境变量,如ANDROID_SDK_HOME=D:\eclipse_android\android-sdk 2.在ANDROID_SDK_HOME目录下,建立. ...
- Javascript对象的方法赋值
Javascript对象编程学习中,一直不能很好的掌握对象的属性(property)和方法(method).今天在写代码过程中,又犯了一个低级错误. <!DOCTYPE html> < ...
- linux安装和配置 mysql、redis 过程中遇到的问题记录
linux下部署mysql和redis网上的教程很多,这里记录一下我部署.配置的过程中遇到的一些问题和解决办法. mysql ①安装完成后启动的时候报错 Starting MySQL.The serv ...
- 1Z0-053 争议题目解析24
1Z0-053 争议题目解析24 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 24.Which of the following information will be gath ...
- APP接口自动化测试JAVA+TestNG(一)之框架环境搭建
前言 好久不曾写点啥,去年换到新公司组测试团队与培养建设花费大量时间与精力,终于架构成型与稳定有时间可以打打酱油了.很久没有总结点啥,提笔想写的内容太多,先放APP接口自动化的内容吧,这个估计大家比较 ...
- 一个简单的Webservice的demo,简单模拟服务
前段时间一直在学习WCF,匆匆忙忙的把<WCF全面解析>和<WCF服务编程>看了一遍,好多东西都不是很懂,又听了一下WCF分布式开发的网络教程,算是马马虎虎的明白点了.回顾了一 ...