首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ios如何在EAGLContext中绘制UIImage?

Ios如何在EAGLContext中绘制UIImage?
EN

Stack Overflow用户
提问于 2012-05-31 22:28:35
回答 1查看 851关注 0票数 0

我正在做一个“手指绘图应用程序”。我在这里使用的是苹果的例子。

但我想添加一个撤消选项。为了做到这一点,每当应用程序处理触摸事件的结束时,我都会将EAGLContext内容保存到图像中。

当我想要绘制在folowing方法中保存的最后一个图像时,问题来了:

代码语言:javascript
复制
-(void)undoButtonClicked {
if([savedImagesArray count]>0){
            UIImage *image = [savedImages lastObject];
            [savedImagesArray removeLastObject];
            [image drawInRect:self.frame];
}

}

但是图像并未绘制,并且控制台输出显示:

代码语言:javascript
复制
 <Error>: CGContextRestoreGState: invalid context 0x0

我认为这是上下文的错误,但我似乎无法弄清楚。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-31 22:47:05

在你调用它的时候,没有当前的上下文。在调用drawRect:之前会生成一个新的上下文,并在绘制周期结束时将其释放。不能在没有上下文的情况下调用drawInRect:

视图不应该跟踪旧图像。这是一个控制器函数。单击undo时,控制器应将正确的图像传递给视图,视图应在下次调用drawRect:时重新绘制自身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10835611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档