gpt4 book ai didi

objective-c - 如何从 NSGraphicsContext 获取 NSAffineTransformation

转载 作者:行者123 更新时间:2023-12-03 17:35:57 26 4
gpt4 key购买 nike

我使用[NSGraphicsContext currentContext]获取上下文,如何获取当前应用于它的NSAffineTransform

我需要这个来实现我自己的转换堆栈,我可以在其中执行 pushpop 操作,就像 glPushMatrix() OpenGl 中的 glPopMatrix()

[NSGraphicsContext saveGraphicsState] 不会为我执行此操作,因为它不可堆叠,或者是吗?

最佳答案

是的。在将更改应用到上下文之前保存图形状态并在之后恢复状态。每个 saveGraphicsState 必须与相应的 restoreGraphicsState 调用配对。

// Initial state

[NSGraphicsContext saveGraphicsState];

[transform1 concat];
// State 1.
//Draw with transform1 concatenated with the current transform of the context

[NSGraphicsContext saveGraphicsState];

[transform2 set];
// State 2
// draw with transform2 that replaces the transform of the context

[NSGraphicsContext restoreGraphicsState];

// now we have State 1 again

[NSGraphicsContext restoreGraphicsState];

// We came back to the initial state

关于objective-c - 如何从 NSGraphicsContext 获取 NSAffineTransformation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com