问题标签 [surfaceview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android中的opengl表面应用程序示例
我正在使用opengl表面视图开发一个应用程序,如何实现请转发一些使用opengl表面的示例android应用程序
android - 使用 Drawable 初始化 SurfaceView
当应用程序首次启动时,我想打开一个SurfaceView
位于屏幕中央的图标。我正在使用一个实现来调用图标创建,SurfaceHolder.Callback
以跟踪“画布”对象何时准备就绪。我的问题是有更好的方法吗?是否有不那么繁琐的方法可以在创建时加载SurfaceView
一些Drawables
内容,而无需将绘制逻辑放在回调对象中?
这是我的代码供参考。首先是绘制的对象:
然后是我的私人回调对象:
android - 将相机的预览保存到位图
我需要一点帮助才能让我的相机正常工作。
我想要做的是让用户拍摄一张照片,然后将其用于另一个活动作为视图的背景。重要的是不要有任何倾斜,理想情况下,图像会以尽可能高的分辨率填充整个背景。
我一直在努力让我的相机输出的图片方向正确并与显示器的外观相同。所以我花了一些时间来思考我需要做什么,我认为我根本不需要正常保存的图像。
我想出的是我需要一个表面视图来显示预览,以及一些文本的叠加层和一个捕获按钮。当用户“拍照”时,它应该自动对焦,然后我需要将预览(在屏幕叠加层下)捕获到位图以在其他活动中使用。
*我是否应该为我的预览扩展 SurfaceView 并将其添加到包含叠加层的 XML 布局中?
*如何将 SurfaceView 的图像保存为位图?
谢谢。
android - 在 SurfaceView 上绘图时的问题
我正在尝试使用 Android 中的 SurfaceView,我正在尝试创建一个简单的绘图类型应用程序,您可以在其中通过触摸它来“绘图”。我有一个线程正在运行来处理画布上的绘图,但我遇到了一些性能问题。我在http://developer.android.com/guide/topics/graphics/index.html上读到您需要重新绘制整个表面,所以我尝试将所有触摸点存储在浮点数组 mPoints 中,而不是每次都重新绘制它们。问题是当很多点积累起来时,它会变得非常慢。这是代码:
但是,当我更新它以清除浮点数组并仅绘制新的触摸点时,会导致很多闪烁。据我所知,这是因为 Android 使用双缓冲。我不确定如何解决这些问题。
android - 仅绘制 Drawable/Bitmap 的一部分
我想知道是否可以在将位图加载到内存后只绘制一部分而不创建新的位图。我看到 Drawable 有一个 setBounds 方法,但我不确定它是只绘制区域集还是只调整整个图像的大小。谢谢你。
android - 如何将 Button 添加到自定义滚动和缩放 SurfaceView?
我想在我的 SurfaceView 上添加一个自定义 ImageButton,这样它就可以随着视图滚动。画布使用矩阵滚动和缩放。我怎么能这样做呢?谢谢。
android - 处理两个表面视图
我有两个表面视图 1> MediaRecorder 显示表面视图。2> MediaPlayer SurfaceView 显示由 MediaRecorder 录制的媒体。
我想在 z 排序的屏幕上同时显示两个视图。
mediaPlayer 将全屏播放,MediaRecorderPreview shd 出现在右上角,尺寸较小。
我可以使用两个表面来做到这一点,但问题是 MediaRecorder 预览总是转到背景 z 顺序并被媒体播放器全屏显示隐藏。
他们是否有任何方式来定义 Surface View 的 Z 顺序。
或者他们是否可以做其他任何事情来完成这项工作。我可以在一个界面中同时启动 MediaRecorder 和 MediaPlayer 吗?
请建议。谢谢!!
android - 计算速度
我试图在我的 GLSurfaceView 中实现惯性滚动,为此我需要弄清楚如何计算速度,但我不知道该怎么做。翻译存储在一个矩阵中,并由下面的代码行计算。
android - 了解 Canvas 和 Surface 概念
我正在努力理解绘制到SurfaceView
整个系统的过程,因此Surface
是在 Android 中使用Canvas
的整个系统。Bitmap
我已经阅读了所有文章和 API 文档页面,我可以在 android-developers 网站上找到它们、一些 android 图形教程、LunarLander 源代码和这个问题。
请告诉我,这些陈述中哪些是正确的,哪些不是,以及为什么。
Canvas
有它自己的Bitmap
附属物。Surface
有它自己的Canvas
附属物。- 所有
View
的窗口共享相同Surface
,因此共享相同Canvas
。 SurfaceView
是 的子类View
,与其他View
的子类和它自己不同View
,它有自己的Surface
可借鉴之处。
还有一个额外的问题:
- 为什么需要一个
Surface
类,如果已经有一个Canvas
用于高级操作的位图。举一个Canvas
不适合做Surface
可以做的工作的例子。
android - Android Surface 和 ScreenResolution
举例来说,我的游戏是为 android 1.5 开发的。所以它在任何安卓手机上默认使用最低分辨率。这很棒,游戏运行得很快。
现在我添加了对 scoreloop 的支持,这要求我的游戏支持 android 1.6。当我运行游戏时,我意识到一切都变小了,因为我使用单位尺寸而不看屏幕密度。
现在我固定了尺寸。我意识到我的游戏似乎有点不稳定。我相信在新的屏幕分辨率上重绘是问题所在。
我在 SurfaceView 的画布中绘制我的游戏。我怎样才能让它更快?我使用drawCircle、drawLine等默认函数...我相信降低屏幕分辨率应该会有所帮助,因为我不需要高屏幕分辨率。我只是不知道如何或是否可能。
或者可能在opengl中做我的绘图也会解决这个问题。