zoukankan      html  css  js  c++  java
  • 安卓基础之缩放加载本地大图

    1.获取手机屏幕分辨率

     WindowManager wm= (WindowManager)getSystemService(WINDOW_SERVICE);
            int height=wm.getDefaultDisplay().getHeight();
            int width=wm.getDefaultDisplay().getWidth();
            System.out.println(height+"--"+width);

    2.获取图片分辨率

    BitmapFactory.Options options=new BitmapFactory.Options();

    //使用injustDecodeBounds=true,使得解码图片返回宽和高,如果直接返回图片而不进行缩放,可能因为图片过大发生oom异常 options.inJustDecodeBounds
    =true;
    BitmapFactory.decodeFile(****
    ,options);   //****:本地图片文件的路径 int p_h=options.outHeight; int p_w=options.outWidth; System.out.println(p_h+"--"+p_w);

    3.计算缩放比例

    //按照比例大的缩放,可以保证缩放后宽和高都不超过屏幕
         int
    scale=0; int scalex=height/p_h; int scaley=width/p_w; if(scalex>scaley&&scalex>1){ scale=scalex; } if(scaley>scalex&&scaley>1){ scale=scaley; }

    4.获取缩放后的图片

        options.inSampleSize=scale;
        options.inJustDecodeBounds=false;
        Bitmap bitmap=BitmapFactory.decodeFile(****,options)
  • 相关阅读:
    docker-compose 命令详解
    Ubuntu 安装 rabbitmq
    scrapy.cmdline.execute
    queue.Queue()
    多线程通信
    多线程(thread+queue 售票)
    协程
    线程
    利用Nginx实现反向代理web服务器
    利用Nginx实现反向代理web服务器
  • 原文地址:https://www.cnblogs.com/adressian/p/10203327.html
Copyright © 2011-2022 走看看