手机版
你好,游客 登录 注册
背景:
阅读新闻

关于Android 获得图片的总结

[日期:2011-05-23] 来源:Linux社区  作者:Linux [字体: ]

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 =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);

linux
相关资讯       Android 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款