【问题标题】:Image quality from camera not good相机的图像质量不好
【发布时间】:2014-09-12 05:33:07
【问题描述】:

我正在创建一个应用程序,在该应用程序中单击按钮我打开默认相机以拍摄图像并保存该图像。但是当我查看该图像时,该图像的质量非常差。我不知道为什么会这样发生了???

代码

if (userSelection.contains("Camera")) {
                            intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                            startActivityForResult(intent, 1);
                            btChooseDoc.setText("Choose File");
                        }




    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);{
    Bitmap camera;
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();

        if (requestCode == 1 && resultCode == getActivity().RESULT_OK) {

            camera = (Bitmap) data.getExtras().get("data");

            Uri tempUri = getImageUri(getActivity(), camera);
            strFilePath = getPath(getActivity(), tempUri);
            file = new File(strFilePath);
            camera.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
//            camera = Bitmap.createScaledBitmap(camera, 150, 150, false);
            image.setImageBitmap(camera);
            date = sdf.format(new Date());
}

【问题讨论】:

  • galleryImage = Bitmap.createScaledBitmap(galleryImage, 150, 150, false); 你在这里重新调整你的原始位图
  • 对不起,这是画廊,我已经更新了我的帖子。对不起
  • stackoverflow.com/questions/16745489/… 这可能会有所帮助
  • 我用了同样的方法,但还是没有结果

标签: android android-camera-intent


【解决方案1】:

改变

galleryImage.compress(Bitmap.CompressFormat.JPEG, 60, bytes);

galleryImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

compress 方法中的第二个参数是图像的quality。如果你给一个小的值,它会降低图像质量来压缩它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多