当前位置:文档之家› Android 获得图片的方法

Android 获得图片的方法

Android 获得图片的方法
1.已将图片保存到drawable目录下
//通过图片id获得Drawable
Resource res=gerResource();
Drawable drawable=res.getDrawable(id);//id为R.drawable.图片名称

//通过图片id获得Bitmap
Resource res=gerResource();
Bitmap bitmap=BitmapFactory.decodeResource(res,id);
//若只知道图片的名称,可以通过图片的名称获得图片的id
//name:图片的名称 defType:图片的类型(png,jpeg),defPackage:工程的包名
int id =res.getIdentifier(name,defType, defPackage);
//获得id之后可以根据你的需要来获得Bitmap或Drawable

2.已将图片保存到assest目录下
//知道图片的名称,通过inputstream打开图片
AssetManager asm=getAssetMg();
InputStream is=asm.open(name);//name:图片的名称
//获得Drawable
Drawable da = Drawable.createFromStream(is,null);

//获得Bitmap
Bitmapbitmap=BitmapFactory.decodeStream(is);

3.图片保存在sdcard,已知图片的路径
//图片路径
String path = Environment.getExternalStorageDirectory().toString()+ "/DCIM/device.png";
RandomAccessFile mMiniThumbFile;
File imgfile = new File(path);
try {
mMiniThumbFile = new RandomAccessFile(imgfile, "rw");
} catch (IOException ex) {
// Open as read-only so we can at least read the existing
// thumbnails.
try {
mMiniThumbFile = new RandomAccessFile(imgfile, "r");
} catch (IOException ex2) {
ex2.printStackTrace();
}
}
data= new byte[10553];
try {
mMiniThumbFile.seek(0);
int got = mMiniThumbFile.read(data, 0, 10552);
System.out.println("got="+got);
} catch (IOException e) {
e.printStackTrace();
}
if (data != null) {
//通过data获得bitmap
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,data.length);
}

相关主题
文本预览
相关文档 最新文档