Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.97
demon112
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 6
#1

Поворот Bitmap изображения - Программирование Android

30.07.2012, 20:14. Просмотров 4208. Ответов 1
Метки нет (Все метки)

Здравствуйте. Есть изображения Bitmap. вывожу их на канвас с помощью canvas.drawBitmap(bitmap, x, y, null). Нужно вывести эти изображения с поворотом на угол альфа относительно центра. Картинка квадратная, если это важно. Как реализовать можно?

1) Методом научного тыка сделал так

Java
1
2
3
Matrix matrix = new Matrix();
matrix.postRotate(alpha, (float)(image.getWidth()/2.0), (float)(image.getHeight()/2.0));
canvas.drawBitmap(image, matrix, paint);
Всё бы неплохо, но тут изображение выводится по координатам (0, 0), а мне надо по произвольным координатам.

2) Пробывал так

Java
1
2
3
matrix.postRotate(alpha, image.getWidth()/2.0f, image.getHeight()/2.0f);
Bitmap temp = Bitmap.createBitmap(image, 0, 0, image.getWidth(), image.getHeight(), matrix, false);
canvas.drawBitmap(temp, x, y, null);
Но тут по непонятной мне причине относительная точка поворота картинки смещена (не в центре)...



Помогите пожалуйсто кто чем может.

Добавлено через 2 часа 24 минуты
Заметил еще одну вещь - при использовании этого метода
Java
1
 Bitmap.createBitmap(image, 0, 0, image.getWidth(), image.getHeight(), matrix, false);
увеличивается размер изображения. Не знаю с чем как и почему это связано... При том изменение размера зависит от градуса как то...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2012, 20:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поворот Bitmap изображения (Программирование Android):

Поворот изображения (GPS) - Программирование Android
Добрый день Пытаюсь сделать вот что, на canvas рисую изображение относительно своих координат, которые беру с GPS. Хотелось бы...

поворот изображения мультитачем - Программирование Android
Хочу поворачивать изображения, которые я вывожу на экран, на произвольный угол от 0 до 360 градусов двигая пальцами картинку. Подскажите...

Поворот изображения при снимке - Программирование Android
Сетап такой: пользователи делают снимок в портретном режиме, и раньше достаточно было для корректного отображения фотографий повернуть их...

Bitmap, resize - Программирование Android
При ресайзе bitmap теряет "резкость" по контуру изображения, появляется пикселизация. Есть способы обойти это? Ресайзю bitmap путем...

Bitmap трансформация - Программирование Android
Здрасте) Как можно трансформировать bitmap? Т.е. у меня есть картинка, которую я загружаю, и мне её надо сжать один край, из...

создание Bitmap - Программирование Android
столкнулся с такой проблемой: есть в drawable imge.jpg , делаю в классе class MClass extends View Bitmap bm1 =...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.08.2012, 13:17 #2
Вращение холста можно сделать так:

Java
1
2
3
4
5
6
Matrix m = new Matrix();
 
m.setTranslate(centerX, centerY);
m.preRotate(angle, width/2, height/2);
 
canvas.drawBitmap(bitmap, m, null);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2012, 13:17
Привет! Вот еще темы с ответами:

RelativeLayout и Bitmap - Программирование Android
Можно ли поставить на задний фон RelativeLayout Bitmap. Или преобразовать Bitmap в Drawable? P.S. Именно Bitmap, а не BitmapDrawable/

Не создаёт Bitmap из ресурса - Программирование Android
Android только-только начал осваивать - не пинайте, пожалуйста, если вопрос тривиальный. Имею Android Studio 1.5.1 и некий проект. Есть...

Неверный размер Bitmap'a - Программирование Android
Всем привет! Загружаю картинку размером 1920х1080: bmp = BitmapFactory.decodeResource(getResources(), R.drawable.bmp); Затем вывожу...

Bitmap & BitmapFactory - Программирование Android
Вопрос к бывалым. У меня в метод передается параметр Byte data и дальше я из этого массива байт пытаюсь сделать битмап bitmap =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru