如何根据屏幕分辨率缩放图像?

时间:2011-05-06 11:19:41

标签: android image-scaling

朋友,

我使用以下代码来resizeImage

 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;
        }

来自互联网。 现在它在高分辨率屏幕上工作正常,但在小屏幕上没有任何人指导我如何根据屏幕分辨率显示图像?

2 个答案:

答案 0 :(得分:3)

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();

所以你可以随身携带屏幕宽度和高度,你可以根据屏幕分辨率显示图像。

答案 1 :(得分:2)

创建三种类型的可绘制文件夹drawable-hdpi,drawable-mdpi,drawable-ldpi。在这些文件夹中放置具有相同名称的图像差异分辨率。该应用程序将映射自己。另一种方法是创建9补丁图像。 9个补丁图像根据分辨率调整自身。而且你在创建布局时也要小心。你必须正确设置布局。屏幕高度和宽度是设置屏幕部分图像的必要条件。

由于 迪帕克