gpt4 book ai didi

java - Action 图像捕捉导致观看时图像模糊

转载 作者:搜寻专家 更新时间:2023-11-01 08:25:35 24 4
gpt4 key购买 nike

当我在 Android 应用程序中拍照时,显示模糊/缩小的图像,我意识到这将来自 Bitmap .....data.getExtras().get ("data") 代码但我所做的任何其他更改均无效,显示的图像仍然模糊。

如何让它显示全分辨率图片?

相机 Intent 代码

private void cameraIntent()
{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
}

关于 Activity 代码

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_CODE_GALLERY)
onSelectFromGalleryResult(data);
else if (requestCode == REQUEST_IMAGE_CAPTURE)
onCaptureImageResult(data);
}
super.onActivityResult(requestCode, resultCode, data);
}

最后是 oncaptureImageResult - 我认为我在模糊图像方面出错了

private void onCaptureImageResult(Intent data) {
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes);

File destination = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + ".jpg");

FileOutputStream fo;
try {
destination.createNewFile();
fo = new FileOutputStream(destination);
fo.write(bytes.toByteArray());
fo.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

imageView.setImageBitmap(thumbnail);
}

最佳答案

尝试 WeakReference,这将返回清晰的图像而不会降低质量

  WeakReference<Bitmap> result1 = new WeakReference<Bitmap>(Bitmap.createScaledBitmap(src,
src.getWidth(), src.getHeight(), false).copy(
Bitmap.Config.RGB_565, true));
Bitmap bm=result1.get(); //Set this bitmap to any imageview that you want to display your image.

将上面的代码放在 onCaptureImageResult() 方法中。

private void onCaptureImageResult(Intent data) {
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
WeakReference<Bitmap> result1 = new WeakReference<Bitmap>(Bitmap.createScaledBitmap(thumbnail,
thumbnail.getWidth(), thumbnail.getHeight(), false).copy(
Bitmap.Config.RGB_565, true));
Bitmap bm=result1.get();
imageView.setImageBitmap(bm);}

关于java - Action 图像捕捉导致观看时图像模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45632420/

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