博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓加载大图片学习笔记
阅读量:6153 次
发布时间:2019-06-21

本文共 1857 字,大约阅读时间需要 6 分钟。

hot3.png

加载大图片代码片段

package com.tang.bigpic;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.BitmapFactory.Options;import android.graphics.Point;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.view.WindowManager;import android.widget.ImageView;import android.os.Build;public class MainActivity extends Activity {	private ImageView iv;	private int screeX;	private int screeY;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		iv = (ImageView) findViewById(R.id.pic);		WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);		screeY = wm.getDefaultDisplay().getHeight();		screeX = wm.getDefaultDisplay().getWidth();		//Point outSize = new Point();		//wm.getDefaultDisplay().getSize(outSize);		//outSize.x;		//outSize.y;	}		public void getPic(View view)	{		String path = "/data/data/com.look.pic/test.jpg";		//Bitmap bm = BitmapFactory.decodeFile("/data/data/com.look.pic/test.jpg");		//iv.setImageBitmap(bm);		BitmapFactory.Options opts = new Options();		//并不是真正的去解析图片只是读取图片的相关信息;		opts.inJustDecodeBounds = true;		BitmapFactory.decodeFile(path, opts);		int hegiht = opts.outHeight;		int width = opts.outWidth;		//计算缩放比例		int scaleX = width/screeX;		int scaleY = hegiht/screeY;				int scale = 1;		if (scaleX > scaleY & scaleX > 1) {			scale = scaleX;		}		if (scaleY > scaleX & scaleY > 1) {			scale = scaleY;		}		opts.inJustDecodeBounds = false;		opts.inSampleSize = scale;		Bitmap bm = BitmapFactory.decodeFile(path, opts);		iv.setImageBitmap(bm);	}}

转载于:https://my.oschina.net/u/729139/blog/474580

你可能感兴趣的文章
基于drone的CI/CD对接kubernetes,灵活与自由
查看>>
学习JdbcTemplate中使用的回调机制
查看>>
shell 中 getopts 用法
查看>>
使用Python开发IOS程序
查看>>
GXT 3 CheckBox edtiting issue
查看>>
关于ORACLE shared SQL area 与 private SQL area 的几个链接。
查看>>
常量和引用及数组等基础
查看>>
使用注解方式进行spring和hibernate整合
查看>>
Juniper路由&交换&安全&无线
查看>>
Apache服务开启伪静态支持
查看>>
使用Win RE(Windows恢复环境)修复Windows 7启动文件丢失故障
查看>>
红黑树
查看>>
脚本建立squid反向代理
查看>>
使用手记(1)
查看>>
【视频教学】Maclean教你用Vbox在Linux 6.3上安装Oracle 11gR2 RAC
查看>>
linux zip/unzip命令
查看>>
小蚂蚁学习Linux(7)——用户登陆查看命令、关机重启命令、帮助命令
查看>>
C# 输出对象信息
查看>>
django session和cooikes介绍
查看>>
SHELL实现进度条效果
查看>>