gpt4 book ai didi

iOS:renderInContext 以 -90 度渲染窗口的内容?

转载 作者:行者123 更新时间:2023-11-28 17:40:51 26 4
gpt4 key购买 nike

我正在尝试启动并运行外部屏幕支持。不幸的是,我用来将窗口渲染到 CGContextRef 中的方法导致窗口以 -90 度旋转(没有我指定任何旋转)。

UIGraphicsBeginImageContext (extwin.bounds.size);
CGContextRef context = UIGraphicsGetCurrentContext();

if ([window screen] == [UIScreen mainScreen])
{
CGContextSaveGState(context);
[[window layer] renderInContext:context];
CGContextRestoreGState (context);
break;
}

谁能告诉我如何解决这个问题?我只将核心图形用于基本绘图,而不用于转换。

谢谢。

最佳答案

CoreGraphics 的基础坐标系与 UIKit 的基础坐标系不同。事实上,它在不同的设备上是不同的。听起来您需要弄清楚特定设备上的基本坐标系是什么,然后在尝试渲染窗口层之前将 CTM 转换应用于您的上下文。这将使您能够将 CoreGraphics 的基础坐标系转换为与您期望的相同。

澄清一下,当您创建一个新的上下文时,坐标系是完整记录的。但是,窗口层使用的坐标系将与屏幕的基本 CoreGraphics 坐标系相匹配(这在不同的设备上有所不同)。这需要转换回以匹配您上下文的坐标系,您可以通过找出正确的仿射变换并将其应用到您的上下文中来做到这一点 CGContextConcatCTM()及相关功能。

关于iOS:renderInContext 以 -90 度渲染窗口的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187067/

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