У меня 5 переменных.
Ширина и высота растрового изображения.Ширина и высота экрана.Требуемый процент
Как сделать растровое изображение нужным процентом экрана с помощью матрицы (т. Е. 1,0 нормальный, 0,5 полуразмера, 2,0 двойного размера).
Растровые изображения - это спрайты, которыеразная ширина кадра (IE взрыв 200x4000 (20 кадров 200x200, в то время как объект 65x195, поэтому 65x65 на объект, если это помогает).
Моя цель - передать что-то в ResizeBitmap, например (Bitmap, 100)100% экрана при сохранении соотношения сторон.
Таким образом, ResizeBitmap (Bitmap, 10) сделает его 10% экрана.
Это то, что я получил до сих пор, этосбои показывают неправильные размеры.
public Bitmap ResizeBitmap(Bitmap bitmap, int screen_percentage)
{
float scale;
int width = bitmap.getWidth();
int height = bitmap.getHeight();
float percentage_of_screen;
float percentage_of_percentage_screen;
if(screen_width > screen_height)
{
percentage_of_screen = (screen_width / 100) * width;
percentage_of_percentage_screen = (screen_width / 100) * screen_percentage;
scale = percentage_of_screen / percentage_of_percentage_screen;
}
else
{
percentage_of_screen = (screen_height / 100) * height;
percentage_of_percentage_screen = (screen_height / 100) * screen_percentage;
scale = percentage_of_screen / percentage_of_percentage_screen;
}
// CREATE A MATRIX FOR THE MANIPULATION
Matrix matrix = new Matrix();
// RESIZE THE BIT MAP
matrix.postScale(scale, scale);
// RECREATE THE NEW BITMAP
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, false);
return resizedBitmap;
}
Может кто-нибудь исправить мой код или хотя бы помочь мне, потому что я потратил столько времени на эту функцию.
Спасибо.