【问题标题】:Image Scaling is not working properly图像缩放无法正常工作
【发布时间】:2013-04-17 21:00:18
【问题描述】:

我正在做一个复杂的 UI 设计,它就像一个圆形轮子,在圆形轨迹上包含 10 个图标。我需要根据设备分辨率缩放每个图标。具体代码请看sn-p:-

             if (displayWidth<=241) {
      bitmap = scaleBimtap(bitmap, 42, 39);
     }else if (displayWidth<=320) {
      bitmap = scaleBimtap(bitmap, 42, 39);
     }else if (displayWidth<=480) {
      bitmap = scaleBimtap(bitmap, 52, 44); 
     }else{
      bitmap = scaleBimtap(bitmap, 52, 44);
     }

HTC sense 是一款 540X960 分辨率的设备。所以这里是 bitmap = scaleBimtap(bitmap, 52, 44);在这种情况下必须选择,但这似乎被错误地缩放并且图标显示得更大。我该怎么做才能让它工作。

【问题讨论】:

    标签: android image device scale kernel-density


    【解决方案1】:

    来自网址的图片

    imageView = new (ImageView)findViewById(R.id.myImage);

    从网址获取图片

     Bitmap originalBitmap = getBitmapFromURL("http://www.chennaionline.com/home.JPG");
    

    getBitmapFromURL 方法:

    public static Bitmap getBitmapFromURL(String src) {
            try {
                URL url = new URL(src);
                HttpURLConnection connection = (HttpURLConnection) url
                        .openConnection();
                connection.setDoInput(true);
                connection.connect();
                InputStream input = connection.getInputStream();
                Bitmap myBitmap = BitmapFactory.decodeStream(input);
                return myBitmap;
            } catch (IOException e) {
                e.printStackTrace();
                return null;
    
    
    }
    }
    

    设置位图

    Bitmap bitmap = Bitmap.createScaledBitmap(originalBitmap, width,
                    height, false);
    
    imageView.setImageBitmap(bitmap);
    

    来自资源文件的图片

    Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
    

    【讨论】:

    • 我不需要下载任何图像。我已经从可绘制资源中获取了图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多