Android 中将 Surface 视图作为位图

发布于 2024-12-20 23:34:23 字数 94 浏览 0 评论 0原文

我用的是cocos2d。

现在我在图层中添加了一些图像,并进行了一些操作。

我正在尝试将整个屏幕保存为图像文件。

我该怎么做?

I'm using cocos2d.

Now I've added some images in the layer, and played around a bit.

I'm trying to save the whole screen as image file.

How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我乃一代侩神 2024-12-27 23:34:23

捕获 SurfaceView 内容的唯一方法是使用 OpenGL 进行渲染。您可以使用 glReadPixels() 来抓取表面的内容。如果您使用 Canvas 在 SurfaceView 上绘图,则只需创建一个位图,为该位图创建一个新的 Canvas,然后使用新的 Canvas 执行绘图代码。

The only way to capture the content of a SurfaceView is if you are rendering into it using OpenGL. You can use glReadPixels() to grab the content of the surface. If you are drawing onto the SurfaceView using a Canvas, you can simply create a Bitmap, create a new Canvas for that Bitmap and execute your drawing code with the new Canvas.

一梦等七年七年为一梦 2024-12-27 23:34:23

据我了解,cocos2d-android 也有一个带有 saveBuffer 方法的 CCRenderTexture 类。在这种情况下有查看我的 CCRenderTexture 演示程序和博客文章 for cocos2d-iphone,其中为您提供了如何使用 CCRenderTexture 和 saveBuffer 创建屏幕截图的示例。同样的原理应该适用于cocos2d-android。

It is my understanding that cocos2d-android also has a CCRenderTexture class with the saveBuffer method. In that case have a look at my CCRenderTexture demo program and blog post for cocos2d-iphone which gives you an example for how to create a screenshot using CCRenderTexture and saveBuffer. The same principle should be applicable to cocos2d-android.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文