首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建具有倾斜效果的NSAffineTransform?

如何创建具有倾斜效果的NSAffineTransform?
EN

Stack Overflow用户
提问于 2012-10-05 18:50:57
回答 1查看 667关注 0票数 2

我对用Cocoa绘图很陌生,并且正在开发一个涉及六边形网格的实验应用程序。为了简化这个问题,我想使坐标系倾斜,使Y轴向左旋转30度。我在苹果的可可绘图指南中看到了这一点,这表明这是可能的:

将非均匀缩放变换与旋转变换相结合也会给你的内容一个扭曲的效果。

然而,我不明白这将如何工作,或找到任何例子。

如何设置NSAffineTransform,使X轴保持水平,Y轴逆时针旋转30度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 18:56:51

不幸的是,没有像转换、旋转等这样简单的方法来做到这一点。

您必须创建一个转换矩阵:

代码语言:javascript
复制
0            tan(skewy)   0
tan(skewx)   0            0
0            0            1

setTransformStruct:NSAffineTransformStruct结合使用

代码语言:javascript
复制
typedef struct _NSAffineTransformStruct {
  CGFloat m11, m12, m21, m22;
  CGFloat tX, tY;
} NSAffineTransformStruct;

表示倾斜,m11、m22、tx和ty为零;m12为tan(斜),m21为tan(斜)

苹果的文档中有更多关于矩阵的信息:编号/doc/uid/TP40003290-CH 204-BCIIICJI

希望这能有所帮助!

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

https://stackoverflow.com/questions/12752331

复制
相关文章

相似问题

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