首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Camera2裁剪SCALER_CROP_REGION时扩展SCALER_CROP_REGION预览

使用Camera2裁剪SCALER_CROP_REGION时扩展SCALER_CROP_REGION预览
EN

Stack Overflow用户
提问于 2017-05-11 14:08:58
回答 2查看 4.6K关注 0票数 2

我想在全屏中使用camera2 api显示预览。我选择的相机尺寸是4160x3120 (16:9),我的屏幕是1080x1920 (9:16)。因此,如果我想要正确缩放预览,我必须裁剪相机输出:

代码语言:javascript
复制
Rect zoomCrop = new Rect(0, 0, 1755, 3120);
captureRequestBuilder.set(CaptureRequest.SCALER_CROP_REGION, zoomCrop);

裁剪预览应该是大小为1755x3120,其比例也是9:16。但是预览仍然是分散的。

问题:我正确地使用了SCALER_CROP_REGION吗?如果没有,我该怎么用呢?

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2018-08-28 06:39:38

我一直在努力解决同样的问题,因为我想将相机预览流实现为正方形TextureView。

使用SCALER_CROP_REGION似乎是解决不兼容高宽比问题的明显地方,但我认为操作不会真正改变结果的纵横比,因此不会阻止拉伸/翘曲行为。(医生们谈论这件事)

我通过实现与Camera2Basic示例项目中类似的转换(参见Camera2BasicFragment中的函数configureTransform )取得了进展。

使用这种视图级缩放矩阵,您可以在不改变视图大小的情况下管理相机预览的缩放/裁剪。

票数 4
EN

Stack Overflow用户

发布于 2017-05-12 10:26:08

这听起来像你得到一个景观图像,并显示在肖像视图-这意味着你将有‘柱盒’线以上和下方的图像,如果你想避免扭曲。

如果你想填充屏幕,没有变形或柱子框线,那么你将不得不接受这部分你的图像将是不可见的,因为它的形状以外的观看区域。

SCALER_CROP_REGION在没有图表的情况下很难理解--我在这里的Andoir源代码文档中找到了最好的解释:再处理

这里有一个图表可以作为一个例子--突出显示协调器是如何被使用的。如果你看你的作物区域,当你从(0,0)开始的时候,它会偏向左上角,我不确定你到底想要什么。

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

https://stackoverflow.com/questions/43917823

复制
相关文章

相似问题

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