【绘图案例-矩阵操作 Objective-C语言】

一、矩阵操作

通知

1.接下来,我们来说这个矩阵操作啊,矩阵操作呢,实际上就是:

1)缩放

2)旋转

3)平移

好,然后呢,这个里边呢,就是三个方法:

1)缩放:void CGContextScaleCTM(CGContextRef c,CGFloat sx,CGFloat sy)

2)旋转:void CGContextRotateCTM(CGContextRef c,CGFloat angle)

3)平移:void CGContextTranslateCTM(CGContextRef c,CGFloat tx,CGFloat ty)

我先画一个简单的图形,然后给大家演示一下这三个矩阵操作

2.首先,把昨天的copy这份儿代码拿过来,复制粘贴一份儿,改个名字,

通知

名字改成:“01-矩阵操作”

通知

我是这么打算的啊,这是我们那个300乘300的UIView,

通知

1)我会从这个位置,从(0,0),到(300,300),画一条线

通知

然后呢,在中间,画一个圆,

通知

用C的方法来画吧,

1)获取上下文:CGContextRef ctx = UIGraphicsGetCurrentContext();

2)拼接路径 同时 把路径添加到上下文当中

CGContextAddArc(ctx,150,150,100,0,2 * M_PI,1);

CGContextMoveToPoint(0,0);

通知

再画一条从(0,0),到(300,300)的直线,

通知

设置个线宽啊

CGContextSetLineWidth(ctx,10);

通知

3)渲染:CGContextStrokePath(ctx);

通知

command + R,

通知

二、画好了以后,我们来进行旋转、缩放、平移、

1.首先呢,这个旋转缩放平移啊,就是把上下文进行了旋转缩放平移

通知

然后,最后的结果,也就变成了图形的旋转缩放平移的操作,

实际上,就是对

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2906204.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java的新生入学报到管理系统的设计与实现(论文+源码+PPT)_kaic

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息…

如何保证redis里的数据都是热点数据

MySQL 里有 2000w 数据,Redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据? 1.Redis 过期删除策略 1)惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期&#xff0c…

全球首个“AI程序员”Deven能替代程序员吗?过了面试却不一定适合职场

制造Devin的公司,是一家叫Cognition的10人初创公司,才成立不到2个月。 一、引言 一家成立不到两个月但拥有十名天才工程师的初创公司Cognition,搞了一个引爆科技圈的大动作。 他们推出了一款名为Devin的人工智能(AI)助…

HCIP的学习(6)

OSPF—开放式最短路径优先协议 动态路由的评判标准 1、占用资源 2、收敛速度 3、选路动态路由分类: IGP---内部网关协议DV型---距离矢量型---RIPLS型---链路状态型---OSPFEGP---外部网关协议OSPF---无类别的路由协议(携带真实掩码)组播224.0…

【微服务】Sentinel(流量控制)

文章目录 1.基本介绍1.Sentinel是什么2.Sentinel主要特性3.Sentinel核心功能1.流量控制2.熔断降级3.消息削峰填谷 4.Sentinel两个组成部分 2.Sentinel控制台显示1.需求分析2.下载3.运行1.进入cmd2.输入java -jar sentinel-dashboard-1.8.0.jar3.查看默认端口8080 4.访问1.账号和…

Java毕业设计-基于springboot开发的游戏分享网站平台-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台登录2.1管理员功能模块2.2用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的…

element-ui switch 组件源码分享

今日简单分享 switch 组件源码,主要从以下四个方面来分享: 1、switch 组件的页面结构 2、switch 组件的属性 3、switch 组件的事件 4、switch 组件的方法 一、switch 组件的页面结构 二、switch 组件的属性 2.1 value / v-model 属性,绑…

L2-047 锦标赛

这题没做出来,查了一些博客,下面是我比较能接受的理解和书写方式。 读完题可以发现这是一个满二叉树,并且可以得到每场比赛失败者的信息(决赛是胜利者和失败者都可以得到) 对于一场比赛,它的胜利者要么是左…

报错:ImportError: cannot import name ‘imread‘ from ‘scipy.misc‘

报错内容: 问题代码通常是导入scipy库的版本出现了问题。 解决方法: 方法一: scipy版本还原到1.2.0 pip install scipy1.2.0 方法二: 使用from imageio import imread进行替换from scipy.misc import imread 使用imageio库同…

第二十四周代码(跟着罗勇军老师刷题)

2024/03/24 周一 合根植物 题目链接 【参考代码】 #include <iostream> using namespace std;const int N 1e61; int a[N];int find(int index) {if(a[index] index)return index;return a[index] find(a[index]); }int main() {// 请在此输入您的代码int m…

项目Weblogic切换Tomcat-包含数据源配置

目录 准备工作 修改Tomcat配置 Tomcat数据源加密 解密 加密 部署 问题解决 1.执行启停脚本时候&#xff0c;爆出&#xff1a;Cannot find ./catalina.sh The file is absent or does not have... 2.org.apache.catalina.core.StandardService.initInternal Failed to …

Tomcat项目创建 以及 在IDEA当中集成Tomcat

一: 有关Tomcat的WEB项目创建 TOMCAT项目的创建有两种方式, 第一种是利用骨架进行创建, 第二种是利用填补进行相应的创建, 不适用骨架进行创建 ,在这里主要聊第二种 (使用IDEA版本为2023) 1. 创建MAVEN项目, 非骨架形式 2.在相应的pom文件当中设置打包方式 为 war包的打包形…

推荐!00 后都在用的6个超实用微信小程序,又能少装N个app啦

在这个手机内存永远不够用的年代&#xff0c;每一次下载新app都像是在和手机进行一场心理博弈——不下载就out&#xff0c;下载了又怕手机喘不过气来。好在&#xff0c;微信小程序如同一股清流&#xff0c;轻巧地滑入我们的生活&#xff0c;解救了那些对“存储空间不足”弹窗深…

时序数据库IoTDB:功能详解与行业应用

一文读懂时序数据库 IoTDB。 01 为什么需要时序数据库 解释时序数据库前&#xff0c;先了解一下何谓时序数据。 时序数据&#xff0c;也称为时间序列数据&#xff0c;是指按时间顺序记录的同一统计指标的数据集合。这类数据的来源主要是能源、工程、交通等工业物联网强关联行业…

鸿蒙开发之ArkTs开发布局之线性布局(Row/Column)

组件按照布局的要求依次排列&#xff0c;构成应用的页面。在声明式UI中&#xff0c;所有的页面都是由自定义组件构成&#xff0c;开发者可以根据自己的需求&#xff0c;选择合适的布局进行页面开发。 布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。在实际…

SI24R2E:智能电子学生卡2.4GHz考勤方案

今年年初教育部发布的《关于加强中小学生手机管理工作的通知》中提出&#xff0c;学生手机有限带入校园&#xff0c;原则上不得将个人手机带入校园&#xff0c;禁止带入课堂&#xff1b;应设立校内公共电话、建立班主任沟通热线、探索使用具备通话功能的电子学生证或提供其他家…

Autosar-Mcal配置详解(免费)-MCU

3.6.1创建、配置RAM 1)配置MCU通用配置项 MCU的通用配置项可参考以下配置&#xff1a; 各配置项的说明如下&#xff1a; Wake Up Factor Clear Isr: 是否在唤醒的中断服务函数中清除Wakeup Factor Wake Up Factors Clear Centralised: 是否在shutdown前集中集中清除Wakeu…

统信 UOS V20 一键安装 Oracle 12CR2(220118)单机版

Oracle 一键安装脚本&#xff0c;演示 统信 UOS V20 一键安装 Oracle 12CR2&#xff08;220118&#xff09;单机版过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&#xff1a;…

C#开发者必备!快速掌握onnxruntime实现YOWOv2视频动作检测技术!

C#开发者必备&#xff01;快速掌握onnxruntime实现YOWOv2视频动作检测技术&#xff01; 目录 介绍 效果 模型信息 项目 代码 Form1.cs YOWOv2.cs 下载 介绍 YOWOv2: A Stronger yet Efficient Multi-level Detection Framework for Real-time Spatio-temporal Action…

代码随想录笔记|C++数据结构与算法学习笔记-栈和队列(〇)|stack、queue、单调队列和优先级队列(priority_queue)、大顶堆和小顶堆

文章目录 stack容器stack 基本概念常用接口构造函数赋值操作数据存取大小操作 queue容器queue常用接口构造函数&#xff1a;赋值操作数据存取大小操作 单调队列定义实现代码实现 基本应用一&#xff1a;滑动窗口思路与算法 优先级队列定义大顶堆&#xff08;最大堆&#xff09;…