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

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

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

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

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

http://www.cyberforum.ru/android-dev/thread1117131.html
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):

поворот изображения мультитачем
Хочу поворачивать изображения, которые я вывожу на экран, на произвольный угол...

Поворот изображения при снимке
Сетап такой: пользователи делают снимок в портретном режиме, и раньше...

RelativeLayout и Bitmap
Можно ли поставить на задний фон RelativeLayout Bitmap. Или преобразовать...

Bitmap трансформация
Здрасте) Как можно трансформировать bitmap? Т.е. у меня есть картинка,...

Bitmap, resize
При ресайзе bitmap теряет "резкость" по контуру изображения, появляется...

1
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
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
Привет! Вот еще темы с решениями:

создание Bitmap
столкнулся с такой проблемой: есть в drawable imge.jpg , делаю в классе ...

Неверный размер Bitmap'a
Всем привет! Загружаю картинку размером 1920х1080: bmp =...

Отличия drawable от Bitmap
Чем отличается drawable от Bitmap?

Bitmap отразить по горизонтали
Bitmap...


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

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

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