-2

I am trying to rotate an image. Rotation is perfectly working but when I get that rotated image back getting some blank space. What should I do for remove that blank space?

I have tried this code:

public static Bitmap RotateBitmap(Bitmap source, float angle) {
        Matrix matrix = new Matrix();
        matrix.setRotate(90, 0, 0);
        matrix.postTranslate(source.getHeight(), 0);
        // matrix.postRotate(angle);
        return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
    }

Utility.tempBitmap = RotateBitmap(Utility.tempBitmap, -90);
Krishna Kachhela
  • 773
  • 1
  • 7
  • 24

1 Answers1

2

I solved my problem by changing in view set bitmap some changes as per my requirement. using this code :

the code i used before (Gives me white space)

 public static Bitmap RotateBitmap(Bitmap source, float angle) {
    Matrix matrix = new Matrix();
    matrix.setRotate(90, 0, 0);
    matrix.postTranslate(source.getHeight(), 0);
    // matrix.postRotate(angle);
    return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
}

Utility.tempBitmap = RotateBitmap(Utility.tempBitmap, -90);

Solution code is here:

public int setBitmap(final Bitmap bitmap) 
{
changeBitmapContrastBrightness(1, 50);
gapRect = new RectF();
dest = new Rect();
setBackgroundColor(Color.GRAY);
if (bitmap.getWidth() > bitmap.getHeight()) {
this.mbitmap = bitmap;
invalidate();
return 0;
}
this.mbitmap = bitmap;
 invalidate();
 return 1;