#android #image-scaling
#Android #масштабирование изображения
Вопрос:
Друзья,
я использую следующий код для изменения размера изображения
private Bitmap resizeImage( final Bitmap image) {
Bitmap resizedImage = null;
if(image != null)
{
int maxHeight = 80; //actual image height coming from internet
int maxWidth = 150; //actual image width coming from internet
int imageHeight = image.getHeight();
if ( imageHeight > maxHeight )
imageHeight = maxHeight;
int imageWidth = (imageHeight*image.getWidth()) / image.getHeight();
if ( imageWidth > maxWidth ) {
imageWidth = maxWidth;
imageHeight = (imageWidth*image.getHeight()) / image.getWidth();
}
resizedImage = Bitmap.createScaledBitmap( image, imageWidth, imageHeight, true);
}
return resizedImage;
}
поступает из Интернета.
теперь это прекрасно работает на экране с высоким разрешением, но на маленьком экране никто не подсказывает мне, что я должен сделать, чтобы отобразить изображение в соответствии с разрешением экрана?
Ответ №1:
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
итак, если у вас есть ширина экрана и высота, вы можете отображать изображение в соответствии с разрешением экрана.
Комментарии:
1. ну, это может быть ваш вопрос, но человек, задавший этот вопрос, уже знает, что делать дальше. здесь вы можете изменить размер изображения = Bitmap.createScaledBitmap (изображение, ширина изображения, высота изображения, true);
2. getWidth () и getHeight () теперь устарели (API 13 ). Используйте следующее:
Point size = new Point(); display.getSize(size); int screenWidth = size.x; int screenHeight = size.y;
Ответ №2:
Создайте три типа папок для рисования: drawable-hdpi, drawable-mdpi, drawable-ldpi. Поместите разное разрешение изображений с одинаковым именем в эти папки. Приложение отобразит само себя. Другой способ — создать изображение с 9 патчами. 9-исправленные изображения настраиваются в соответствии с разрешением. а также вы должны быть осторожны при создании макета. вы должны правильно настроить макет. Высота и ширина экрана необходимы для установки изображений в какой части экрана.
Спасибо Дипак