在iOS中,进行绘图操作时,一般主要是在UIView:drawRect中调用

UIGraphicsBeginImageContextWithOptions等一系列函数,有时候直接画图就行,比如UIImage的drawRect等,有时候需要进行稍微复杂的操作,比如颜色混合,mask等,需要对CGContextRef进行CTM变换,通过今天查阅资料了解到:
UIKit和Quartz 绘图的坐标系统是不一样的,前者原点为左上,后者为左下。
如果是直接使用UIKit的方法进行调用绘图上下文CGContextRef时,会自动调整坐标系统,和Quartz保持一致,通过UIKit.framework中的方法进行一系列操作都不需要转换坐标系统。
而如果需要使用CoreGraphics.framework的函数时,比如CGContextDrawImage,就需要手动调整坐标系统了,因为两者绘图坐标系统不一致。
一句话说,就是调用UIKit.framework时,可以不用管坐标系统,但是调用CoreGraphics.framework时就需要注意了。
不对之处请指明。

转载于:https://www.cnblogs.com/wcLT/p/4117682.html

ios绘图时的坐标处理相关推荐

  1. 成功解决 绘图时行坐标名或列坐标名出现f0、f1、f2、f3、f4、f5(或者Column_0、Column_1、Column_2、Column_3)等命名而不是想要的具体对应字段命名

    成功解决 绘图时行坐标名或列坐标名出现f0.f1.f2.f3.f4.f5(或者Column_0.Column_1.Column_2.Column_3)等命名而不是想要的具体对应字段命名 目录 解决问题 ...

  2. originlab设置_Origin绘图时设置坐标断点——Break功能的使用方法

    如果Origin软件绘图的数据,比如光谱数据分布在两个相隔较远的区域,而它们之间没有任何有效数据,那么图表中间会有很大一块空白区,这样既浪费空间,也使得数据不集中影响阅读数据和排版的美观.为了使得数据 ...

  3. iOS绘图详解-多种绘图方式、裁剪、滤镜、移动、CTM

    iOS绘图详解 摘要: Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的 绘 ...

  4. ios绘图教程(原文http://www.cocoachina.com/industry/20140115/7703.html)

    os开发者平台 Cocos引擎中文官网 H5小游戏编辑器 退出chengtanze 首页 资讯 问答 论坛 Cocos2d-x 开发者中心 新手入门 专题 新闻日历 开发者通道 排行榜 代码库 图书库 ...

  5. IOS 绘图 bitmap 滤镜 图片合成

    CGSize size = CGSizeMake(800, 800);UIGraphicsBeginImageContextWithOptions(size, NO, 1);//1.获取bitmap上 ...

  6. iOS绘图框架CoreGraphics分析

    由于CoreGraphics框架有太多的API,对于初次接触或者对该框架不是十分了解的人,在绘图时,对API的选择会感到有些迷茫,甚至会觉得iOS的图形绘制有些繁琐.因此,本文主要介绍一下iOS的绘图 ...

  7. android 绘画笔迹回放_简笔画项目总结: ios绘图机制 实现记录笔迹功能

    简笔画的项目是从暑期8月份开始的,差不多9月多的时候已经有出版,修修改改拖到现在才算能结项目. 现在来总结有点晚了,一些体会早忘记了,但我还是尽力回忆一些自己认为有用的东西记录一下. 1.故事板.我在 ...

  8. Python使用matplotlib可视化绘图时你可用的颜色有哪些?把色彩可视化出来自己选好了

    Python使用matplotlib可视化绘图时你可用的颜色有哪些?把色彩可视化出来自己选好了 目录 Python使用matplotlib可视化绘图时你可用的颜色有哪些?把色彩可视化出来自己选好了 # ...

  9. Python:matplotlib绘图时指定图像大小,放大图像

    matplotlib绘图时是默认的大小,有时候默认的大小会感觉图片里的内容都被压缩了,解决方法如下. 先是原始代码: from matplotlib import pyplot as pltplt.f ...

最新文章

  1. 人工智能科普|极大似然估计——机器学习重要知识点
  2. 公司的API接口被刷了,那是因为你没这样做!
  3. zcmu1203(逆序对,归并排序)
  4. WebLogic Classloader分析工具
  5. Hadoop2源码分析-RPC机制初识
  6. s1 java 复习 视频小课
  7. 让IE浏览器支持GreaseMonkey,解除YOBO的禁止下载mp3
  8. 撒贝宁探班威马体验百度Apollo L4级自动驾驶 感慨:确实震撼
  9. python怎么执行代码漏洞_如何使用python查找网站漏洞
  10. 计算机网络tcp/ip协议,UDP,HTTP/HTTPS基础知识
  11. [rhel6.5]DHCP分配IP地址以及保留地址
  12. 计算机上无开根号功能 怎么计算机,中级会计师无纸化考试计算器怎么开根号?...
  13. 街头篮球服务器维护中怎么,《街头篮球》生涯联赛FAQ 已经进行了一个多月了...
  14. 桌面图标变白,任务栏图标变白
  15. 计算机发展趋势 网络化,计算机的发展趋势表现在多极化网络化等几个方面
  16. T4M插件放入unity后怎么找不到_Unity动画系统详解4:如何用代码控制动画?
  17. 多功能流媒体播放器实现网页无插件直播之EasyPlayer.js如何实现播放完自动循环播放
  18. C++:高斯坐标,大地坐标转经纬度
  19. 15 个常用的python 开源框架
  20. 深度信念网络_Learning

热门文章

  1. 2542513 - AS Java fails to start - Initialization of destination UMEBackendConnection failed
  2. sm2加密算法实例_实例说明加密算法
  3. golang 命令行_如何使用Golang编写快速有趣的命令行应用程序
  4. 矢量数编码有哪几种类型_6种最理想的编码工作(以及吸引每个人的类型)
  5. iptables防火墙策略
  6. Python中如何使用构造方法定义类
  7. UI设计培训怎么选择就业方向
  8. 11月18日珠三角城市人口迁徙可视化(和弦图)
  9. 2017海克斯康拉斯维加斯美国大会 精彩即将开始
  10. 营销自动化的4大预测分析错误