首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CoreGraphics:使用从0到1的坐标?

CoreGraphics:使用从0到1的坐标?
EN

Stack Overflow用户
提问于 2013-12-27 03:32:05
回答 2查看 157关注 0票数 0

在用CoreGraphics绘图时,有没有可能使用标准化的坐标系(从0.0到1.0)而不是像素坐标?这肯定会让很多事情变得更容易。

EN

回答 2

Stack Overflow用户

发布于 2013-12-27 03:42:06

是的,使用CGAffineTransform。我在一个应用程序中做了这件事。保持所有坐标归一化为-1.0到1.0,根据我要绘制的视图的大小创建一个转换。

示例:

代码语言:javascript
复制
CGAffineTransform translateTransform = CGAffineTransformMakeTranslation(offset.x, offset.y);

可以变换每个点或创建路径并变换整个路径:

代码语言:javascript
复制
CGMutablePathRef transformedPath = CGPathCreateMutable();
CGPathAddPath(transformedPath, &transform, path);

正如@yurish指出的那样,如果对你来说效果更好,你也可以使用CGContextScaleCTMCGContextTranslateCTM等来代替缩放点/路径。

票数 2
EN

Stack Overflow用户

发布于 2013-12-27 03:42:15

核心图形不使用像素坐标。它使用抽象点,这些抽象点使用当前转换矩阵(CTM)转换为像素。如果适当地调整CTM (CGContextScaleCTM等),您可以使用规范化的坐标系。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20790207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档