Freewind
Freewind

Reputation: 198388

Get the image after rotating from ImageView

In this question ImageView will reset to original state after rotating, I know how to rotate an imageView and keep it after rotating.

But now, I need to do some scaling based on the rotated image. When scaling, the image will reset to original one before rotating, this is not what I want.

So I want to get the bitmap from ImageView after rotating, and let the ImageView use the new one. The question is:

How to get the bitmap from ImageView after rotating?

Upvotes: 0

Views: 1177

Answers (1)

Kanaiya Katarmal
Kanaiya Katarmal

Reputation: 6118

To get bitmap from imageview:

  imageview.buildDrawingCache();
    Bitmap bm=imageview.getDrawingCache();

To save it in a file:

OutputStream fOut = null;
    Uri outputFileUri;
     try {
    File root = new File(Environment.getExternalStorageDirectory()
      + File.separator + "folder_name" + File.separator);
    root.mkdirs();
   File sdImageMainDirectory = new File(root, "myPicName.jpg");
    outputFileUri = Uri.fromFile(sdImageMainDirectory);
    fOut = new FileOutputStream(sdImageMainDirectory);
   } catch (Exception e) {
    Toast.makeText(this, "Error occured. Please try again later.",
      Toast.LENGTH_SHORT).show();
   }

   try {
    bm.compress(Bitmap.CompressFormat.PNG, 100, fOut);
    fOut.flush();
    fOut.close();
   } catch (Exception e) {
   }

Upvotes: 1

Related Questions