2014-09-25 4 views
2

Я пытаюсь повернуть растровое изображение и вырезать из него правильный прямоугольник, а затем сохранить его на диске. Что я пытаюсь сделать, это объясняется в следующей ссылке:Android получить повернутое растровое изображение. (Исправление изображения)

http://i.stack.imgur.com/IIhBw.png

Черный исходное изображение. Красный - это повернутое изображение (на 15 градусов здесь), а зеленый - действительная часть красного изображения.

Эта функция похожа на выпрямление изображения, которое делает приложение Instagram.

До сих пор, я попытался это:

public static Bitmap getRotatedBitmap2(Bitmap bmp, int rotation){ 
    Matrix matrix = new Matrix(); 
    matrix.preRotate(rotation); 

    Bitmap bitmap = Bitmap.createBitmap(bmp, 0, 0, 
      bmp.getWidth(), bmp.getHeight(), 
      matrix, false); 
    return bitmap; 
} 

Это поворачивает растровое изображение, но оно уменьшается в размерах, а также повернутые растровый прилагаются является черным прямоугольником. Мне нужно избавиться от уходящего черного прямоугольника. Также, как я могу получить действительную часть растрового изображения?

+0

Проверьте мой ответ на этот вопрос. http://stackoverflow.com/a/38868813/3640366 – WoookLiu

ответ

0

Aviary и ImageMagick - это библиотеки, которые могут помочь в достижении результатов, заданных в вопросе, а также выполнять другие операции Bitmap и манипуляции с изображениями.

0

Я знаю, что вы уже решили этот вопрос, но если кто-то ищет другое решение, вы можете проверить эту библиотеку image-rotator, которая решает проблему вроде этого или очень похоже.

Смежные вопросы