Android得到位图方式

来源:互联网 发布:什么眼镜店比较好 知乎 编辑:程序博客网 时间:2024/05/21 14:52

得到位图Bitmap的方式我总结了四种方式,不管哪种方式得到的图片相关的位图,
都可以用ImageView对象的setImageBitmap(Bitmap bitmap)函数,把与位图相关的图片设置在ImageView中显示出来
(1)从sdcard中图片路径去取,本例就是采取这种方式 ,如下面的代码,
filename代表图片的路径
Bitmap bm = BitmapFactory.decodeFile(fileName);
(2)从项目的/res/drawable中去取
Bitmap bm = ((BitmapDrawable)getResources().getDrawable(R.drawable.icon)).getBitmap();

java.io.InputStream is = getResources().openRawResource(R.drawable.icon);
BitmapFactory.Option opts = new BitmapFactory.Options();
opts.inSampleSize = 2;//2表示得到后的位图大小缩小到以前的1/2
Bitmap bitmap = BitmapFactory.decodeStream(is,null,opts);
(3)从布局文件中的ImageView中去取 (以下代码中imageView是一个ImageView对象,该对象中已经设置了图片)
BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView.getDrawable();
Bitmap bitmap = bitmapDrawable.getBitmap();
(4)通过网络下载图片内容,并把图片内容保存到byte数组中,再把byte数组中的图片内容取出封装成位图

例: socket的输入流或网络的其它输入流读取出的图片内容保存到byte数组中(假设byte数组名是 b,并且b的长度与图片内容长度相等)
Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);

原创粉丝点击