Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/35: Рейтинг темы: голосов - 35, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 6
1

Поворот Bitmap изображения

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Есть изображения 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2012, 20:14
Ответы с готовыми решениями:

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

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

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

Поворот bitmap(битмап) на определенный угол
Как собственно реализовать? Только нужно быстро не через SetPixel и GetPixel

1
411 / 275 / 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
04.08.2012, 13:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2012, 13:17
Помогаю со студенческими работами здесь

Поворот bitmap вокруг своей оси DirectX 11
Учу DX11 по урокам rastertek, но там не описано как можно вращать созданные bitmap. Гуглом...

Вывод изображения на bitmap
Здравствуйте! Создаю скриншот экрана при помощи кода: bitm := TBitMap.Create; ...

Загрузка изображения Bitmap
Здравствуйте. Можно ли загружать два и более изображения в один объект, или все таки под каждое...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru