- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在四处寻找答案。我仍在加快 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/
我正在使用 CGlayers 进行绘图,如文档所述,这是在 Canvas 上渲染绘图的更有效方式。 我基本上是绘制到 CGlayers 中,然后使用 CGContextDrawLayerInRect
我正在使用 CGlayers 进行绘图。我已经实现了绘图部分,用户将在其中绘制的 drawingView(canvas) 是动态的,我的意思是,用户可以增加/减少 drawingView(Canvas
我正在为我的 iOS5 应用程序创建一些 CGLayer,如下所示: layer_1 = CGLayerCreateWithContext (context,self.bounds.size, NUL
我想从同一个 for 循环中将对象绘制到两个单独的 CGLayer,但不确定如何执行此操作。 例如,我想在三个蓝色圆圈后面画三个橙色圆圈,橙色圆圈在一层,蓝色圆圈在另一层。以下代码会将每个圆圈放在前一
最终我正在开发一个在 iPhone 上使用的方框模糊功能。 该函数将获取 UIImage 并首先在侧面绘制透明副本,然后获取该图像并在上方和下方绘制透明副本,返回一个非常模糊的图像。 阅读Drawin
我正在画几个CGPaths在iPad 上的drawRect 方法中的Cocoa View 中。我开始将它们直接绘制到 UIGraphicsGetCurrentContext()上下文,但是当我的路径变
我正在使用绘图应用程序,我使用 CGlayers 进行绘图。触摸结束时,我从图层中获取图像并将其存储在数组中,我用它来撤消操作。 我的触摸结束功能 -(void)touchesEnded:(NSSet
我在 CgLayer 上使用 unod 重做操作,我已经尝试了一些代码,但无法让它工作,不知道,我哪里错了,下面是我写的代码 这是我的 drawRect 函数 - (void)drawRect:(CG
我创建了一个简单的绘图项目,代码工作正常,但我想将绘图缓存到 CGlayer 中,因为我读到它更有效的绘图方式。我已通读文件,但无法正确理解。所以 friend 们,我请求你们在这方面帮助我。 下面是
我一直在四处寻找答案。我仍在加快 iOS 开发的速度,所以我绝对可以接受我在这里可能很笨。然而,完全没有答案让我怀疑是否真的有答案。 事情是这样的:我正在使用 CGLayer 生成一个相当基本的矢量多
我正在使用一个绘图应用程序,我在 CGlayers 中绘图,然后在图形上下文中绘图,但我的绘图变得模糊。 这是我的代码 - (void)drawRect:(CGRect)rect { CGConte
我想在 CGLayer 上绘制一个简单的 UIImage,但找不到任何有用的资源来完成它。请告诉我如何在 CGLayer 上绘制 UIImage。 谢谢! 最佳答案 您要找的是这个吗? CGConte
意图:在屏幕外创建CGLayer,从第二个线程在其上绘制一些复杂的东西,并稍后在主线程上使用它快速绘制 问题: CGLayerCreateWithContext(context, size, info
我有 UIView 子类 - 实际上是一个拼图 - 在 initWithFrame 处初始化了 2 个不同的 CGLayer。 在drawRect中,我必须混合这两层,并且最上面应该有可变alpha,
当你像这样创建一个CGLayer,然后获取上下文时...似乎不可能释放CGContextRef? 释放 CGLayerRef 本身(显然)效果很好。 您认为可以在释放 CGLayer 之前释放 CGC
我们不断地制作一个CGLayer,进行处理,然后发布它。这种情况实时发生很多次。当然,每次制作一个全新的 CGLayer 都会有很多开销。所以... 当然,最好保留该图层,并每次删除其中的所有数据——
我有自定义的 UICollectionViewCell 子类,我在其中使用剪裁、描边和透明度进行绘制。它在模拟器和 iPhone 5 上运行良好,但在旧设备上存在明显的性能问题。 所以我想把耗时的绘图
我编写了一个 iOS 应用程序,我在其中非常成功地使用了 CGLayer。在研究从该应用程序中获得更多性能的方法时,我看到了这篇博文:http://iosptl.com/posts/cglayer-n
我正在尝试提高我们应用程序中的滚动性能。我遵循了所有普遍接受的建议(用 CG 自己绘制、单元格不透明、没有 subview 等),但当我们有后台 CPU 和网络事件时,有时它仍然会卡顿。 这里列出了一
请注意,这个问题是关于CGLayer(您通常用它来在屏幕外绘制),而不是关于CALayer。 在 iOS 中,将 CGLayer 保存为 PNG 文件的正确代码是什么?谢谢! 再说一遍,那是 CGLa
我是一名优秀的程序员,十分优秀!