您的位置:首页 > 移动开发 > Android开发

关于android 获得 图片的方式

2012-01-05 20:53 281 查看
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:工程的包名 

// 一般  defType  用"drawable"

       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 
       Bitmap bitmap=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) { 
           // ignore exception 
System.out.println(ex2.toString()); 


data= new byte[10553]; 
try { 
mMiniThumbFile.seek(0); 
int got = mMiniThumbFile.read(data, 0, 10552); 
System.out.println("got="+got); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
System.out.println(e.toString()); 

if (data != null) { 
//通过data获得bitmap 
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, 
data.length);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息