首页 > 系统 > Android > 正文

Android加载一张大图片

2019-11-07 23:29:31
字体:
来源:转载
供稿:网友
package com.itheima74.loadbigimage;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.WindowManager;import android.widget.ImageView;import static android.graphics.BitmapFactory.decodeResource;/** * 加载一张大图 */public class MainActivity extends AppCompatActivity {    PRivate ImageView iv;    private int mScreenWidth;    private int mScreenHeight;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        iv = (ImageView) findViewById(R.id.iv);        // 获取手机屏幕的宽和高        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);        mScreenWidth = wm.getDefaultDisplay().getWidth();        mScreenHeight = wm.getDefaultDisplay().getHeight();        System.out.println("mScreenWidth:" + mScreenWidth + ",mScreenHeight:" + mScreenHeight);    }    // 点击按钮,加载一张大图    public void click(View view) {        // 创建工厂配置参数        BitmapFactory.Options options = new BitmapFactory.Options();        // 只获取图片基本信息(宽高),不去解析图片        options.inJustDecodeBounds = true;        decodeResource(getResources(), R.drawable.dog, options);        int imgWidth = options.outWidth;        int imgHeight = options.outHeight;        System.out.println("imgWidth:" + imgWidth + ",imgHeighe:" + imgHeight);        // 计算缩放比        int scale = 1;        int scaleX = imgWidth / mScreenWidth;// 水平方向缩放比        int scaleY = imgHeight / mScreenHeight;// 垂直方向缩放比        if (scaleX > scaleY && scaleX > scale) {            scale = scaleX;        } else if (scaleY > scaleX && scaleY > scale) {            scale = scaleY;        }        System.out.println("scale:" + scale);        // 按照缩放比显示图片        options.inSampleSize = scale;        options.inJustDecodeBounds = false;        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.dog, options);        // iv显示图片        iv.setImageBitmap(bitmap);    }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表