更新:这看起来和这个有关:来自Android camera2 API的图像数据在Galaxy S5上翻转和压扁--我认为这是一个bug,因为Nexus 5/6工作正常,它没有任何意义,需要获得完整的传感器大小,然后手动裁剪达到所需的纵横比,不如不使用“支持的”输出大小以及!
问题:
>
编解码器输出的大小正确。但结果因设备而异:
因此,我创建了一个OpenGL上下文,生成了一个纹理,为它生成了一个SurfaceTexture,将它的默认缓冲区大小设置为相机输出大小,并使用纹理创建了一个表面。我将不去讨论将其绘制到TextureView或返回到mediaCodec的EGL表面的血腥细节。结果是一样的--Camera2捕获请求只在某些分辨率下输出一个失真的图像。深入挖掘:在updateTexImage之后立即调用SurfaceTexture上的getTransformMatrix-矩阵始终是恒等式矩阵,正如预期的那样。
所以,这里真正的问题是,相机没有在提供的目标表面的大小上捕获。因此,解决方案将是获得实际大小的相机正在捕获,其余的是纯GL矩阵变换,以正确绘制。但是...我该怎么弄呢?
注意:使用旧的相机API,与目标完全相同的“预览尺寸”和相同的表面(要么是MediaCodec的,要么是自定义的)--一切都很好!但我不能使用旧的camera API,因为它既不推荐使用,也似乎有1080p的最大捕获大小,而Camera2 API超过了这个值,而且我需要支持4K录制。
所以是的,这是三星设备上的一个bug。
通常情况下,当您在输出时要求多个不同的纵横比,并且设备特定的相机代码在正确裁剪和缩放它们时会跳过自己时,就会发生这种情况。您可以通过确保所有请求的大小具有相同的纵横比来避免这种情况。
分辨率实际上可能是您所要求的--但是它被不正确地缩放了(您可以用ImageReader测试这个问题的大小,在那里您可以戳到一个显式的缓冲区。)
我们正在为Android的兼容性测试添加额外的测试,以确保这种过度的输出不会继续发生。
Camera元素一个关键特性就是可以用来拍照。我们将在一个简单的定格动画程序中使用到它。在这章中,你将学习如何显示一个视图查找器,截图和追踪拍摄的图片。 用户界面如下所示。它由三部分组成,背景是一个视图查找器,右边有一列按钮,底部有一连串拍摄的图片。我们想要拍摄一系列的图片,然后点击Play Sequence按钮。这将回放图片,并创建一个简单的定格电影。 相机的视图查找器部分是在VideoOutp
当我捕获照片时,在某些设备中,它会以景观模式存储在某些设备中,它会存储肖像。我想让图像在肖像模式无论如何。为此,我尝试获取图像的数据,并相应地将其旋转到肖像模式。但在一些设备,如三星,VIVO的方向值得到“0”。我不知道该怎么处理那个值。如果我90,那么一些设备将解决此问题,而另一些设备将向上保存照片。 我从Xamarin那里得到这个主意。Andoid图像旋转。但不知怎的,我不能再继续下去了。会有
我试图做一个简单的应用程序,使用系统相机应用程序来拍照。我已经在android版本6中测试了我的应用程序,我的应用程序成功打开了设备的摄像头。但在一些android v6设备(如三星Galaxy A3)中,我遇到了以下安全异常: 我已经在我的代码中添加了权限检查: 稍后我称之为捕获图像: 从日志中,我看到captureImage第203行调用了startActivityForResult。既然我已
在节点中。在js服务器上,捕获SIGTERM和捕获SIGINT有什么区别吗? 我认为进程不应该能够防止SIGINT关闭? 我是否能够捕获两个信号并阻止退出?我的实验表明答案是肯定的,但从我所读到的内容来看,SIGINT总是假设关闭一个进程。 或者我把SIGINT和SIGKILL混淆了?也许SIGKILL是我无法恢复的信号? 捕捉这些信号当然可以让我优雅地关机: 我想我把SIGINT和SIGKILL
问题内容: 在Java中是否有捕捉到内存不足错误()的问题? 问题答案: 是的 。以下是一些可能有意义的示例: 如果您想通过 优雅地关闭 程序来处理它 如果要向用户显示问题或 记录错误 根据您的设计,您甚至可以清理内存并 恢复工作状态 但是 ,请注意,通常情况下(除非您处在一次要分配大量内存的位置),对于这些情况,您可能不会专门捕获OutOfMemoryError,而是始终在顶部进行操作主要入口点
我使用MediaStore捕捉图像。ACTION_IMAGE_CAPTURE意图。它在大多数设备中工作正常。但它在一些最新的Android设备中工作不正常。 我的意图是使用相机捕捉图像并将其发送到服务器,但不是将该图像存储在设备的默认库中。 **:当我捕获图像时,它会以onActivityResult方法返回其他一些画廊图像,而不是在一些最新的android设备中捕获的图像。我使用下面的代码来捕获