簡體   English   中英

從照相機拍的照片得到迷離

[英]Picture taken from camera getting blur

我在我的應用程序中集成了裁剪圖像庫,它具有拍照功能和使用相機拍攝的照片。 我的開發人員按照預期完成了它,但是現在當我通過相機拍攝照片而不是拍攝照片並將其設置在裁剪頁面上之后,它在我們設置它之前變得模糊。我的開發人員已經超出了某些任務的覆蓋范圍。 我問過庫開發人員,他們給了我如下集成代碼的解決方案

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);Uri outputFileUri = Uri.fromFile(new File(context.getExternalCacheDir().getPath(), "pickImageResult.jpeg"));intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

我的開發人員在我的應用程序中集成了如下代碼

    @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                            if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
                                startActivityForResult(takePictureIntent,REQ_PHOTO_CAMERA);
                            }
                        }

以及如下方法

    public final int REQ_PHOTO_CAMERA=243;
public final int REQ_PHOTO_GALLERY=346;
public final int REQ_APP_GALLERY=427;

public final int ACTION_CHANGE_BACKGROUND=1;
public final int ACTION_CHANGE_AUTHOR=2;

private int mChangeAction;

public void onActivityResult(int req,int res,Intent data){
    if(res==RESULT_OK){
        if(req==REQ_PHOTO_CAMERA){
            Bitmap  cameraImg = (Bitmap) data.getExtras().get("data");
            cropAndSaveImage(cameraImg);
            //updateCustomImage(cameraImg);
        }else if(req==REQ_PHOTO_GALLERY){

            try {
                Bitmap imgGallery = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
               // updateCustomImage(imgGallery);
                cropAndSaveImage(imgGallery);
            } catch (IOException e) {
               // e.printStackTrace();
            }
        }else if (req == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
            CropImage.ActivityResult result = CropImage.getActivityResult(data);
            Uri resultUri = result.getUri();
            Log.e("ImageUrl",resultUri.getPath());
            updateCustomImage(BitmapFactory.decodeFile(resultUri.getPath()));
        }else if(req==REQ_APP_GALLERY){

            String imgPath=data.getStringExtra("ImagePath");
            try {
                InputStream inputStream=getAssets().open(imgPath);
                Bitmap image=BitmapFactory.decodeStream(inputStream);
                cropAndSaveImage(image);
            } catch (IOException e) {
            }

        }
    }
}



public void cropAndSaveImage(Bitmap imgPicked){
    ImageLoader.getInstance().saveTempImage(imgPicked);
    CropImage.activity(ImageLoader.getInstance().getTempImageUri())
            .setInitialCropWindowPaddingRatio(0)
            .setFixAspectRatio(false)
            .setAspectRatio(1,2)
            .setGuidelines(CropImageView.Guidelines.ON)
            .start(this);
}

讓我知道我錯過了什么?

注意:我們使用過這個庫: 鏈接

謝謝

您使用相機拍攝的原始圖像將在此處 -

Uri outputFileUri = Uri.fromFile(new File(context.getExternalCacheDir().getPath(), "pickImageResult.jpeg"));

在這個文件中。

Bitmap cameraImg =(Bitmap)data.getExtras()。get(“data”); 只是一個縮略圖返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM