android एंड्रॉइड कैमरे से पूर्ण आकार वाली छवियां प्राप्त करते हैं



image image-processing (1)

मुझे लगता है कि समस्या यह है कि आप अब भी Intent से थंबनेल तक पहुंचने का प्रयास कर रहे हैं पूर्ण आकार की छवि को पुनर्प्राप्त करने के लिए आपको सीधे फ़ाइल को एक्सेस करने की आवश्यकता है इसलिए मैं कैमरे की गतिविधि शुरू करने से पहले फ़ाइल नाम को सहेजने की सलाह देता हूं और फिर फाइल को ऑन- onActivityResult पर लोड कर रहा onActivityResult

मैं आधिकारिक दस्तावेजों से केवल तस्वीरें लेना पढ़ने का सुझाव देता हूं जहां आपको थंबनेल के बारे में यह उद्धरण मिलेगा:

नोट: "डेटा" से यह थंबनेल चित्र एक आइकन के लिए अच्छा हो सकता है, लेकिन बहुत अधिक नहीं। पूर्ण आकार की छवि के साथ काम करना थोड़ा अधिक काम करता है

साथ ही बहुत अंतिम अनुभाग में, आपको वह कोड मिलेगा, जिसकी आपको आवश्यकता है:

private void setPic() {
    // Get the dimensions of the View
    int targetW = mImageView.getWidth();
    int targetH = mImageView.getHeight();

    // Get the dimensions of the bitmap
    BitmapFactory.Options bmOptions = new BitmapFactory.Options();
    bmOptions.inJustDecodeBounds = true;
    BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
    int photoW = bmOptions.outWidth;
    int photoH = bmOptions.outHeight;

    // Determine how much to scale down the image
    int scaleFactor = Math.min(photoW/targetW, photoH/targetH);

    // Decode the image file into a Bitmap sized to fill the View
    bmOptions.inJustDecodeBounds = false;
    bmOptions.inSampleSize = scaleFactor;
    bmOptions.inPurgeable = true;

    Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
    mImageView.setImageBitmap(bitmap);
}

मैं एक एंड्रॉइड ऐप विकसित कर रहा हूं जो कैमरे से या डिवाइस फ़ोटो गैलरी से एक रिमोट साइट पर छवि अपलोड करता है। बाद में मैंने ठीक काम किया है, मैं चयन और अपलोड कर सकता हूँ हालांकि, मुझे पूर्ण आकार की छवि और अपलोड करने में परेशानी हो रही है। यह मेरा कोड है:

// From onCreate
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

मेरे पास गतिविधि परिणाम को संभालने का एक तरीका है यह दोनों गैलरी से और कैमरा से चयन संभालती हैं:

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

  String filepath = ""; 
  Uri selectedImageUri;

  if (resultCode == RESULT_OK) {
    if (requestCode == CAMERA_PIC_REQUEST) {
      Bitmap photo = (Bitmap) data.getExtras().get("data");
      // Gets real path of image so it can be uploaded
      selectedImageUri = getImageUri(getApplicationContext(), photo);
    }
    else {
      selectedImageUri = data.getData();
    }
    // Handle the upload ...
  }
}

public Uri getImageUri(Context inContext, Bitmap inImage) {
  String path = Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
  return Uri.parse(path);
}

हालांकि यह काम करता है, छवि छोटा है और संग्रहित छवियों के लिए नामकरण सम्मेलन का पालन नहीं करता है। मैंने पढ़ा है कि पूर्ण आकार को बचाने के लिए मुझे पुट एक्स्ट्रेट और मीडियास्टोर का उपयोग करने की आवश्यकता है.एक्सटीआरए_यूएटीयूटीयूटी कैमराइन्टेन्ट पर और एक अस्थायी फाइल घोषित करें, इसलिए मैंने अपना इरादा कोड निम्नानुसार अनुकूलित किया है:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss");
camImgFilename = sdf.format(new Date())+".jpg";

File photo = new File Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), camImgFilename);

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

हालांकि, "स्रोत नहीं मिला" बताते हुए एक त्रुटि हुई

निश्चित नहीं है कि यहां से आगे बढ़ें कहां?

अद्यतन करें

ऐसा प्रतीत होता है कि मेरी फ़ोटो बनाई जा रही है ऐप बंद हो जाने के बाद मैं फाइल एक्सप्लोरर के साथ नेविगेट कर सकता हूं और छवि देख सकता हूं। मुझे पता नहीं है कि ऐप को कैसे दुर्घटना होती है





android-camera-intent