• Android 获得各处图片的方法


    <pre name="code" class="java">//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);
    
    
    
    
    </pre>
     



  • 相关阅读:
    android 工具类 DateUtil
    POJ1580 水题,积累!
    POJ1159,Palindrome
    iOS开发UI篇章 15-项目中的常见文件
    MongoDB:Map-Reduce
    三层架构下实现用户登陆C#
    Inno Setup 安装inf文件的一个例子
    delphi 主线程向子线程发送消息
    PeekMessage和GetMessage函数的主要区别
    delphi SPCOMM的一些用法注意
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3180340.html
Copyright © 2020-2023  润新知