Поворот растрового изображения прямоугольника в Android - PullRequest
3 голосов
/ 07 июня 2011

У меня есть растровое изображение в форме прямоугольника, которое мне нужно повернуть на 90 градусов по часовой стрелке или против часовой стрелки.

Я могу сделать поворот, используя этот код:

    Matrix matrix = new Matrix();
    matrix.setRotate(90, originalBitmap.getWidth()/2, originalBitmap.getHeight()/2);
    return Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth(), originalBitmap.getHeight(), matrix, true);

Однако этот код поворачивает изображение «на месте», используя старые значения высоты / ширины. И получающееся изображение выглядит растянутым и безобразным.

Есть ли хороший способ повернуть изображение на 90 градусов в новую высоту / ширину? Возможно, одно из возможных решений - сначала изменить размеры исходного растрового изображения?

Спасибо

1 Ответ

0 голосов
/ 07 июня 2011

Разве вы не используете старые значения при создании нового растрового изображения? Просто замените их в последней строке:

 return Bitmap.createBitmap(originalBitmap, 0, 0, originalBitmap.getWidth()/2, originalBitmap.getHeight()/2, matrix, true);
...