zoukankan      html  css  js  c++  java
  • BitmapFactory


    1.以文件流的方式,假设在sdcard下有
    test.png图片
    FileInputStream fis = new
    FileInputStream("/sdcard/test.png");
    Bitmap bitmap=BitmapFactory.decodeStream(fis);
    2. 以R文件的方式,假设
    res/drawable下有 test.jpg文件Bitmapbitmap =BitmapFactory.decodeResource(this.getContext().getResources(),
    R.drawable.test);

    3.Bitmap bmSrc = BitmapFactory.decodeResource(getResources(), R.drawable.bg);
    4.以ResourceStream的方式,但不用到R文件。
    Bitmap.bitmap=BitmapFactory.decodeStream(getClass().getResourceAsStream(“/res/drawable/test.png”));
    图片名就可以读取到 Bitmap啦。
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = 2;
    //图片宽高都为原来的二分之一,即图片为原来的四分一
    //以上代码可以优化内存溢出,但它只是改变图片大小,并不能彻底解决内存溢出。

    //第一种方式:从资源文件中得到图片
    Bitmap rawBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.haha);
    copyRawBitmap1=rawBitmap;
    copyRawBitmap2=rawBitmap;
    copyRawBitmap3=rawBitmap;
    //第二种方式:从SD卡中得到图片(方法1)
    String SDCarePath=Environment.getExternalStorageDirectory().toString();
    String filePath=SDCarePath+"/"+"haha.jpg";
    Bitmap rawBitmap1 = BitmapFactory.decodeFile(filePath, null);
    //第二种方式:从SD卡中得到图片(方法2)
    InputStream inputStream=getBitmapInputStreamFromSDCard("haha.jpg");
    Bitmap rawBitmap2 = BitmapFactory.decodeStream(inputStream);

  • 相关阅读:
    c++ CPO ADL
    c++ intrusive
    c++边界检查
    C++仿函数
    C++ RefBase
    c++ vector容器的尺寸问题
    关于调用约定
    C++学习之字符串类、容器
    C++异常
    Git常用命令大全,迅速提升你的Git水平
  • 原文地址:https://www.cnblogs.com/DarrenChan/p/5672521.html
Copyright © 2011-2022 走看看