gpt4 book ai didi

iphone - iOS:如何旋转 CGLayer?

转载 作者:行者123 更新时间:2023-11-28 22:53:34 28 4
gpt4 key购买 nike

我一直在四处寻找答案。我仍在加快 iOS 开发的速度,所以我绝对可以接受我在这里可能很笨。然而,完全没有答案让我怀疑是否真的有答案。

事情是这样的:我正在使用 CGLayer 生成一个相当基本的矢量多边形:

- (CGLayerRef)getASegment
{
CGSize layerSize = s_viewRects[kASegment].size;

CGLayerRef theLayer = CGLayerCreateWithContext ( UIGraphicsGetCurrentContext(),
layerSize, nil );

CGContextRef context = CGLayerGetContext ( theLayer );

CGContextAddLines ( context, s_shapePoints, 7 );

return theLayer;
}

s_viewRects 是一个静态数组,用于保存放置在整个图像中的容器矩形,而 s_shapePoints 包含一个 CGPoint 结构数组,用于映射出扭曲的六边形。

现在,我想重新使用这个形状。它需要翻转和旋转以适应所有用途(为了记录,这些是“LED”显示屏中的“段”)。

我的形状很好。没问题。

问题在于旋转它以便重新使用。似乎没有任何方法可以实际旋转 CGLayer。有很多方法可以旋转 CALayers,但不能旋转 CGLayers。我很乐意使用 CALayer,除了 CALayer 似乎都专注于光栅图形,而我需要矢量图。

我相信一定有一个明显的方法来解决这个问题。到目前为止,我看到的唯一方法是旋转整个目标图形上下文,绘制形状,然后取消旋转上下文。相当于转动房子拧开灯泡。

我能让它工作的唯一方法是在分别绘制每个线段之前实际转换点,这意味着不能重复使用。在创建形状期间执行 CGContextRotateCTM 实际上不会在显示时导致元素旋转。

有什么线索吗?

最佳答案

The only way that I have seen, so far, is to rotate the entire target graphics context, draw the shape, then un-rotate the context. The equivalent of turning the house to unscrew a lightbulb.

我很确定这就是您的解决方案。这就是使用 CGContextRef 进行绘图的方式。

I'd be happy to use a CALayer, except that CALayers seem to be all focused on raster graphics, and I need vector graphics.

你试过使用 CAShapeLayer 吗?

关于iphone - iOS:如何旋转 CGLayer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11293119/

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