gpt4 book ai didi

android 改变拍照尺寸

转载 作者:行者123 更新时间:2023-11-30 04:10:59 25 4
gpt4 key购买 nike

我的应用使用相机拍照并将数据发送到其他地方。但是,图片大小以字节计太大,或者大得不必要。但我不确定如何强制相机拍摄较小的照片或在拍照后发送缩小版的照片。

这就是我进入相机屏幕的方式。

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(getTempFile()));

startActivityForResult(intent, PIC_ONE);//first picture

然后 onActivityResult 我有:

...
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize=4;
Bitmap mBitmap = BitmapFactory.decodeFile(getPath(myURI),options);

photoView.setImageBitmap(bmp);

它向用户显示已保存图像的四分之一大小的缩略图。但当然,实际图像仍保留其大尺寸。

如何减小图像尺寸?

最佳答案

看看Reduce Bitmap size using BitmapFactory.Options.inSampleSize


你也可以试试createScaledBitmap()

public static Bitmap createScaledBitmap (Bitmap src, int dstWidth, int dstHeight, boolean filter) 

自:API 级别 1创建一个新的位图,从现有位图缩放。

参数src 源位图。dstWidth 新位图的所需宽度。dstHeight 新位图的所需高度。如果应过滤源,则为 true。

Returns the new scaled bitmap.

它还减小了文件大小,

您还可以使用以下函数来调整大小:

 public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {

int width = bm.getWidth();

int height = bm.getHeight();

float scaleWidth = ((float) newWidth) / width;

float scaleHeight = ((float) newHeight) / height;

// create a matrix for the manipulation

Matrix matrix = new Matrix();

// resize the bit map

matrix.postScale(scaleWidth, scaleHeight);

// recreate the new Bitmap

Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);

return resizedBitmap;

}

关于android 改变拍照尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10871975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com