小兵比克 2015-09-11 10:23 采纳率: 0%
浏览 1153

Android 相机预览尺寸且不变形

想定义一个方形的相机预览区域,包括可能要录制视频。
那么问题来了,如何保证预览的画面没有形变?
我想到了一种方案就是做一层不透明的覆盖,拍了图后,再切出来。这种方案仅对拍照片有效,如果是拍摄视频就无效了。
我想做的就是微信里的微视频的录制节目。
求大神支招。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 08:21
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Android中,我们可以使用Bitmap.createScaledBitmap()方法来创建一个新的、缩放后的图像,并将这个新图像设置为ImageView的背景。这样可以确保我们在显示图片时不会产生任何变形。

    以下是一个简单的示例:

    // 创建一个新的Bitmap对象
    Bitmap bitmap = Bitmap.createBitmap(640, 480, Bitmap.Config.ARGB_8888);
    
    // 设置新的Bitmap对象为ImageView的背景
    imageView.setImageBitmap(bitmap);
    

    在这个例子中,我们首先创建了一个640x480像素的Bitmap对象。然后我们将这个新创建的Bitmap对象设置为ImageView的背景。

    注意:这种方法只适用于显示图片,如果我们要处理的是视频,那么我们需要使用不同的方法。例如,我们可以使用VideoView或者MediaCodec来处理视频。

    此外,由于Android系统是基于OpenGL ES的,所以如果你的设备不支持OpenGL ES,你可能会遇到一些性能问题。在这种情况下,你可以考虑使用其他的技术,比如矢量图形(SVG)或WebGL。

    评论

报告相同问题?