图片 从三个地方读

引用:http://www.oschina.net/code/snippet_4873_4437

//1,已将图片保存到drawable目录下
02  
03 //通过图片id获得Drawable
04  
05 Resource res=gerResource();
06 Drawable drawable=res.getDrawable(id);//id为R.drawable.图片名称
07  
08 //通过图片id获得Bitmap
09  
10 Resource res=gerResource();
11  
12 Bitmap bitmap=BitmapFactory.decodeResource(res, id);
13  
14 //若只知道图片的名称,可以通过图片的名称获得图片的id
15  
16 //name:图片的名称 defType:图片的类型(png,jpeg),defPackage:工程的包名
17 int id =int id =res.getIdentifier(name, defType, defPackage);
18 //获得id之后可以根据你的需要来获得Bitmap或Drawable
19  
20 //2,已将图片保存到assest目录下
21  
22 //知道图片的名称,通过inputstream打开图片
23  
24 AssetManager asm=getAssetMg();
25 InputStream is=asm.open(name);//name:图片的名称
26 //获得Drawable
27 Drawable da = Drawable.createFromStream(is, null);
28 //获得Bitmap
29 Bitmap bitmap=BitmapFactory.decodeStream(is);
30  
31 //3,图片保存在sdcard,已知图片的路径
32  
33 //图片路径
34 String path = Environment.getExternalStorageDirectory().toString()+ "/DCIM/device.png";
35 RandomAccessFile mMiniThumbFile;
36 File imgfile = new File(path);
37 try {
38     mMiniThumbFile = new RandomAccessFile(imgfile, "rw");
39 catch (IOException ex) {
40 // Open as read-only so we can at least read the existing
41 // thumbnails.
42 try {
43 mMiniThumbFile = new RandomAccessFile(imgfile, "r");
44 catch (IOException ex2) {
45 // ignore exception
46 System.out.println(ex2.toString());
47 }
48 }
49 data= new byte[10553];
50 try {
51 mMiniThumbFile.seek(0);
52 int got = mMiniThumbFile.read(data, 010552);
53 System.out.println("got="+got);
54 catch (IOException e) {
55 // TODO Auto-generated catch block
56 e.printStackTrace();
57 System.out.println(e.toString());
58 }
59 if (data != null) {
60 //通过data获得bitmap
61 Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,data.length);
posted @ 2011-09-23 17:08  镇水古月  阅读(160)  评论(0编辑  收藏  举报