cglayer相关内容

使用 Cglayer 绘图进行撤消和重做

我正在使用绘图应用程序,我正在使用 CGlayers 进行绘图.在触摸结束时,我从图层中取出图像并将其存储在一个数组中,我用它来撤消操作. 我的触摸结束功能 -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{NSLog(@"触摸结束");UIGraphicsBeginImageContextWithOptions ..
发布时间:2022-01-23 10:36:10 移动开发

在 iOS 中撤消/重做绘图

我正在开发一个绘图应用程序,我想做撤消/重做,为此我将触摸结束时的 CGPath 保存到 NSMutableArray,但我不明白如何在单击撤消按钮时呈现 CGPaths 编辑1: 由于我使用的是 BezierPaths,所以,我首先决定采用一种简单的方法,即在不使用 CGPath 的情况下抚摸这条路径, EDIT2:由于我的撤消是在分段中进行的(即,部分而不是整个路径被删除), ..
发布时间:2022-01-23 10:32:56 移动开发

为CGLayer创建CGContext

我想将某些图形预渲染到CGLayer中,以便将来快速绘制. 我发现CGLayerCreateWithContext需要一个CGContext参数.在drawRect:方法中可以轻松找到它.但是我需要在drawRect:之外创建一个CGLayer.我应该在哪里得到CGContext? 我应该只是创建临时CGBitmapContext并使用它吗? 更新: 我需要在drawRect之外 ..
发布时间:2020-07-19 19:54:15 移动开发

CGlayer的内存问题

我正在使用CGlayers进行绘图.我已经实现了绘图部分,用户将在其中绘制的drawingView(canvas)是动态的,我的意思是,用户可以增加/减小drawingView(Canvas)的高度 例如默认大小-500 * 200 当用户单击展开按钮时-500 * 300 这是用户展开画布时的功能, - (void)IncreaseCanavasSize { CG ..
发布时间:2020-07-19 19:54:13 移动开发

如何访问CGContext以在屏幕外创建CGLayer

意图:在屏幕外创建CGLayer,从第二个线程在其上绘制一些复杂的东西,并稍后用于在主线程上快速绘制 问题: CGLayerCreateWithContext(context, size, info)期望已经存在的CGContext,以便它知道需要针对哪种上下文进行优化. 我到目前为止发现的解决方案: CGContextRef ctx = UIGraphicSetCurrentCont ..
发布时间:2020-07-19 19:53:09 移动开发

iOS:我如何通过CGLayer支持Retina Display?

我正在使用其委托方法drawLayer:inContext:在CALayer上绘制图形. 现在,我想支持Retina显示屏,因为在最新的设备上该图看起来很模糊. 对于我直接在CALayer传递的图形上下文上绘制的零件,我可以通过如下设置CALayer的contentScale属性很好地绘制高分辨率. if ([myLayer respondsToSelector:@selecto ..
发布时间:2020-07-19 19:53:05 移动开发

Coregraphics(iOS)中的内存管理

我正在开发绘图应用程序,我正在使用CGlayers进行绘图,因此我只需单击一下按钮即可打开画布进行绘图, 我正在使用UIBezierPath,然后在下面的touchesMoved中将其转换为CGPath,然后使用它进行绘制 -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { ..
发布时间:2020-07-02 20:43:17 移动开发

Mac上的CGL vs OpenGL

我正在尝试弄清在Mac 平台上使用OpenGL. 更具体地讲上下文.他们共享上下文吗?如果是,怎么办?请给我链接到一些相关示例. 如果否,那么在使用OpenGL的Core Animation应用程序中是否存在两个上下文? 我对Mac使用OpenGL感到非常困惑.有人可以澄清吗? 解决方案 CGL设置了适合OpenGL渲染的特定于设备的上下文.分别与Windows和X上的w ..
发布时间:2020-05-20 22:45:44 其他开发

NSValue中的CGLayerRef-何时调用keep()或release()?

我正在将某些图形缓存到CGLayers上,然后使用@encode将它们存储在NSValue对象中(以便将它们存储在数组中).我只是想确保我正确处理了保留/释放... 我缓存图形并将它们存储在数组中,如下所示: // Create an NSMutableArray "newCache" CGLayerRef drawingLayer = CGLayerCreateWithContext ..

优化核心图形动画(iPhone)

我有一个循环,每秒触发一次30次函数。该函数改变了我用来制作动画的几个点的位置。我在所有点上绘制线条,这意味着线条每秒会改变30次。 我将这些线条绘制到CGLayer,然后将其绘制到UIView中drawRect:方法。我之所以这样做,是因为我了解在屏幕外绘制时性能得到了提升。但是,CGLayer似乎保存了所有实际行而不是绘制的像素,因为即使我清除它,当绘制更多行时,程序也会越来越慢地运行。 ..
发布时间:2018-11-02 13:37:41 移动开发

如何使用CgLayer进行最佳绘图

我已经创建了一个简单的绘图项目,代码工作正常,但我想将绘图缓存到CGlayer中,因为我读到了它在绘图中更有效的方式。我已阅读了这些文件,但无法正确理解。所以朋友们,我请你们在这方面帮助我。 下面是我的代码,我想知道如何在这个中使用CgLayer - (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphi ..
发布时间:2018-09-18 11:20:43 移动开发

使用Cglayer绘图进行撤消和重做

我正在使用绘图应用程序,我正在使用CGlayers进行绘图。在触摸结束时,我从图层中取出图像并将其存储在数组中,我用它来撤消操作。 我的触摸结束功能 - (void)touchesEnded :( NSSet *)触及withEvent:(UIEvent *)事件 { NSLog(@“触及结束”); UIGraphicsBeginImageContextWithOpti ..
发布时间:2018-08-31 18:52:35 移动开发

撤消/重做以在iOS中绘图

我正在绘制一个绘图应用程序,我想做Undo / Redo,为此我在结束NSMutableArray的触摸上保存CGPath,但我不明白我应该如何在点击撤消按钮时渲染CGPath EDIT1: 当我使用BezierPaths时,我首先决定采用一种简单的方法来抚摸这个路径,没有CGPath, EDIT2:由于我的Undo发生在片段中(i,e部分而不是整个路径被删除),我决定创建一个数 ..
发布时间:2018-08-30 19:10:23 移动开发

撤消重做问题与CGLayer

我使用CgLayer unod重做操作,我已经尝试了一些代码,但不能得到它的工作,不知道,我错了,下面是我的代码,我写了 这是我的drawRect函数 - (void)drawRect:(CGRect)rect { m_backgroundImage = [UIImage imageNamed:@“bridge.jpg”]; CGPoint drawingTarget ..
发布时间:2016-12-08 17:51:19 移动开发

CGLayer和CALayer有什么区别和兼容性?

我很困惑 CGLayer 和 CALayer 。它们看起来类似,为什么有单独的实现? CGLayer 和 CALayer ? 之间有什么区别和兼容性? 完全不同, $ b $ b 严格来说是巧合,在名称中使用“layer”这个词; CGLayers是一种“特殊的”高性能的东西。 你可以考虑他们“像位图,但更好。” 苹果坐下来说:“我们生病的人使用位图,让我们做得更好 ..
发布时间:2016-12-06 16:46:14 其它移动开发

计算一个UIImage保存到相册

我基本上想从一堆源图像自动创建一个平铺图像,然后是保存到用户的相册。我没有任何成功绘制了一堆小的UIImage的进入一个大的UIImage。什么是实现这一目标的最佳途径?目前我使用UIGraphicsBeginImageContext()和[UIImage的drawAtPoint],等等。所有我曾经结束了是512×512的黑色正方形。我应该怎么做呢?我期待CGLayer的等似乎也有很多的选择,但没 ..
发布时间:2016-08-08 17:10:12 移动开发

为什么设置我的看法跳的时候层anchorPoint在动画块?

我已经连接到我的iOS应用景色的UIPanGestureRecognizer。我复制从倒是对盘支架示例应用程序。当手势开始时,我的code: 记录的原始锚点和中心。 更​​改锚点和中心,围绕用户的手指,像这样: CGPoint locationInView = [gestureRecognizer locationInView:目标] CGPoint locationInSuper ..
发布时间:2016-05-15 13:31:37 跨浏览器开发