Guardar imagen desde la vista de imagen a la tarjeta sd: Android

testButton.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { imageView.setImageBitmap(Bitmap); imageView.buildDrawingCache(); Bitmap bm =imageView.getDrawingCache(); Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); File imagesFolder = new File(Environment.getExternalStorageDirectory(), "Punch"); imagesFolder.mkdirs(); String fileName = "image" + ".jpg"; File output = new File(imagesFolder, fileName); Uri uriSavedImage = Uri.fromFile(output); imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage); OutputStream fos = null; try { fos = getContentResolver().openOutputStream(uriSavedImage); bm.compress(CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally {} } }); 

Primero recuperé una imagen de la tarjeta sd a la vista de la imagen de la resolución (640 x 480). Entonces otra vez ahorré la imagen de la visión de la imagen a la tarjeta del sd. Pero la imagen guardada es de resolución es (188×113). ¿Puede alguien sugerir cómo puedo guardar con la misma resolución. Cualquier sugerencia será apreciable.

Pruebe este código:

 BitmapDrawable btmpDr = (BitmapDrawable) ivPic.getDrawable(); Bitmap bmp = btmpDr.getBitmap(); /*File sdCardDirectory = Environment.getExternalStorageDirectory();*/ try { File sdCardDirectory = new File(Environment.getExternalStorageDirectory() + File.separator + "MeeguImages"); sdCardDirectory.mkdirs(); imageNameForSDCard = "image_" + String.valueOf(random.nextInt(1000)) + System.currentTimeMillis() + ".jpg"; File image = new File(sdCardDirectory, imageNameForSDCard); FileOutputStream outStream; outStream = new FileOutputStream(image); bmp.compress(Bitmap.CompressFormat.JPEG, 100, outStream); /* 100 to keep full quality of the image */ outStream.flush(); outStream.close(); //Refreshing SD card sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); } catch (Exception e) { e.printStackTrace(); Toast.makeText(ViewImage.this, "Image could not be saved : Please ensure you have SD card installed " + "properly", Toast.LENGTH_LONG).show(); } 
  bm.compress(CompressFormat.JPEG, 100, fos); 

Eliminar esta línea

Resuelto, esto es cómo conseguí guardar la imagen de ImageView

 /*Variable which holds Image*/ {ImageView ivBanner = "Initialise It :)"; FileOutputStream fileOutputStream = openFileOutput("ImageName" + ".jpg", MODE_PRIVATE); Bitmap bitmap = convertToBitMap(ivBanner.getDrawable(),ivBanner.getWidth(),ivBanner.getHeight()); bitmap.compress(Bitmap.CompressFormat.JPEG, 85, fileOutputStream); File file = getFileStreamPath("ImageName" + ".jpg"); File f = file.getAbsoluteFile(); /*Utilise your path whatever way you want*/ String localPath = f.getAbsolutePath();} /* Covert Drawable to Bitmap*/ private Bitmap convertToBitMap(Drawable drawable, int width, int height) { Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0,0,width,height); drawable.draw(canvas); return bitmap; } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.