- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
更新:这看起来与此有关:Image data from Android camera2 API flipped & squished on Galaxy S5 - 我认为这是一个错误,因为 Nexus 5/6 工作正常,需要获得完整的传感器尺寸然后手动裁剪以达到所需的宽高比是没有意义的,还不如不使用“支持的”输出尺寸!
问题:
编解码器输出的大小正确。但结果因设备而异:
没问题,有人会说。也许表面没有完全按照指定的宽度和高度或其他任何方式创建(即使输出大小是专门为 MediaCodec.class 目标提取的)。
因此,我创建了一个 OpenGL 上下文,为其生成了一个纹理和一个 SurfaceTexture,将其默认缓冲区大小设置为相机输出大小,并使用该纹理创建了一个 Surface。我不会详细介绍将其绘制到 TextureView 或返回到 MediaCodec 的 EGL 表面的细节。结果是一样的 - Camera2 捕获请求仅针对某些分辨率输出失真的图像。深入挖掘:在 updateTexImage 之后立即调用 SurfaceTexture 上的 getTransformMatrix - 正如预期的那样,矩阵始终是单位矩阵。
所以,这里真正的问题是相机没有以提供的目标表面的大小进行捕捉。因此,解决方案是获取相机捕获的实际 大小,其余的是纯 GL 矩阵变换以正确绘制。但是 - 我如何获得它?
注意:使用旧的 Camera API,与目标(MediaCodec 的或自定义的)具有完全相同的“预览大小”和相同表面 - 一切都很好!但我不能使用旧的相机 API,因为它已被弃用,而且似乎最大捕获尺寸为 1080p,而 Camera2 API 超出了这个范围,我需要支持 4k 录制。
最佳答案
我遇到了类似的问题,型号 SM-A7009
,api 级别 21,legacy camera2 设备。
预览被拉伸(stretch),surfaceTexture.setDefaultBufferSize
不起作用,框架将在预览开始时覆盖这些值。
StreamConfigurationMap.getOutputSizes(SurfaceTexture.class)
报告的预览尺寸并非全部受支持。
只支持其中三个。
$ adb shell dumpsys media.camera |grep preview-size
preferred-preview-size-for-video: 1920x1080
preview-size: 1440x1080
preview-size-values: 1920x1080,1440x1080,1280x720,1056x864,960x720,880x720,800x480,720x480,640x480,528x432,352x288,320x240,176x144
系统转储信息列出了很多预览尺寸,在检查所有这些之后,我发现只有 1440x1080
, 640x480
, 320x240
是支持。
支持的预览尺寸均具有 1.33333
比率。它们具有从 CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
报告的相同比率。
所以我认为这是一些在 API 21 中使用旧版 camera2 api 的三星设备中的错误。
解决方案是使用已弃用的相机 API 制作这些设备。
希望对到达此处的任何人有所帮助。
关于Android Camera2 捕捉图像倾斜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35841619/
我是初学者,我正在做一些练习来熟悉 CALayer ... 我只是想知道如何“倾斜”(或倾斜)CALayer 45° 角? 谢谢。 最佳答案 CALayers 有一个属性 affineTransfor
无法理解如何制作this trick或 this与CSS。我的意思是标题和标志。这条线不直。它们是倾斜的/倾斜的边界。能否请您举个例子或只是举例说明这是可行的? 最佳答案 看看https://jsfi
如何倾斜图像?例如,每个角都有一个 CGPoint,其坐标为 - p1、p2、p3、p4。然后,我需要设置 - p4.x+=50,p4.y+=30。因此这个角 (p4) 应该在 2D 透视中拉伸(st
我想弄清楚如何通过仅使用 css 来实现元素底部的跟随边框,并使其尽可能对跨浏览器友好 示例代码,带有标准边框 .object { width: 200px; height: 45p
我正在尝试使用 CSS transform 来倾斜 Bootstrap 导航 li,我可以做到这一点,但是当我尝试扭转内部链接上的倾斜时,li 倾斜也会反转回来。我不知道为什么。我试着做这里接受的答案
这个问题在这里已经有了答案: CSS: Set a background color which is 50% of the width of the window (14 个答案) 关闭 7 年前
我已经创建了一个预定的 div 来与我的导航栏一起使用,但是它弄乱了网站的其余格式。导航栏位于右上角,倾斜的 div 位于其下方,但它弄乱了网页上的所有其他内容。我一直在尝试一切都无济于事。 http
你好,我想像这里的附图一样对步骤菜单进行风格化。我该如何风格化这个?主要问题是菜单右侧的边框。 检查我的 JSFiddle URL https://jsfiddle.net/hcx1pv8x/ , 不
我正在尝试使用 HTML5 在 javascript 中倾斜 svg 元素,例如: 中的矩形元素是倾斜的,但 rect 元素也向右移动(不需要),我尝试手动设置位置使用 transform
目前我对应该倾斜的容器使用clip-path。 .box { height: 150px; line-height: 150px; text-align: center; backgr
我有一个相机从上方指向禅宗花园。然而,相机固定在侧面而不是直接在板的上方。结果,图像看起来像这样(注意矩形的倾斜形状): 有没有办法处理图像,使沙子区域看起来或多或少像一个完美的正方形? cap =
我正在尝试使用倾斜 350 度的 UIScrollview,我首先想到的是使用变换属性,滚动上的倾斜起作用了,但现在滚动上的所有内容看起来都不对,当我谈论所有内容时,我指的是位置和这个卷轴的所有 ch
我需要将我的应用程序升级到 Rails 3.2.16,当时我做了 bundle update rails它给了我以下错误。 Bundler could not find compatible vers
我正在尝试运行 rake db:migrate在本地,但我收到以下错误: Gem::LoadError: You have already activated rake 10.2.2, but you
很难用语言表达我想要完成的事情,所以请查看这张照片作为示例: 如您所见,我希望创建一个带有图案背景的倾斜 div(简单),但另一部分,即倾斜被半遮住的部分,也必须有背景图像。我想到了很多不同的想法,并
假设,我想将两个二维数组添加到第三个二维数组中。 我正在使用以下代码: cudaMallocPitch((void**)&device_a, &pitch, 2*sizeof(int),2); cud
很难用语言表达我想要完成的事情,所以请查看这张照片作为示例: 如您所见,我希望创建一个带有图案背景的倾斜 div(简单),但另一部分,即倾斜被半遮住的部分,也必须有背景图像。我想到了很多不同的想法,并
我刚刚遇到了这种附加字符串的变体,其中包含存储在变量中的值,这是我以前从未见过的。谁能帮我解释一下这是怎么回事? 这是我遇到的情况: var fruit = "banana"; $main = $('
假设,我想将两个二维数组添加到第三个二维数组中。 我正在使用以下代码: cudaMallocPitch((void**)&device_a, &pitch, 2*sizeof(int),2); cud
我正在尝试分析在 Windows 上运行的 Java UI 应用程序的 CPU 使用率。我将它连接到 VisualVM,但看起来 CPU 使用率最高的是 sum.rmi.transport.tcp.T
我是一名优秀的程序员,十分优秀!