android的Bitmap和BitmapFactory类的使用

来源:互联网 发布:淘宝代发论文快吗 编辑:程序博客网 时间:2024/05/21 22:46

Bitmap 相关

1. Bitmap比较特别 因为其不可创建 而只能借助于BitmapFactory 而根据图像来源又可分以下几种情况:


* png图片 如:R.drawable.tianjin

Java代码 
Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.tianjin);  加载资源图片


* 图像文件 如: /sdcard/dcim/tianjin.jpeg

Java代码 

String path=" /sdcard/dcim/tianjin.jpeg";

Bitmap bm=BitmapFactory.decodeFile(path);

imageView.setImageBitmap(bm);

Bitmap bmp = BitmapFactory.decodeFile("/sdcard/dcoim/tianjin.jpeg")  加载文件图片

2. Bitmap 相关应用

-本地保存 即 把 Bitmap 保存在sdcard中

* 创建目标文件的File

Java代码 
File fImage = new File("/sdcard/dcim","beijing.jpeg");   
  
FileOutputStream iStream = new FileOutputStream(fImage); 


* 取出Bitmap oriBmp

Java代码 
oriBmp.compress(CompressFormat.JPEG, 100, iStream);  保存图片


参照Bitmap 的API方法 compress(Bitmap.CompressFormat format, int quality, OutputStream stream)
Write a compressed version of the bitmap to the specified outputstream.
写到输出流里,就保存到文件了。


可以保存为几种格式:png,gif等貌似都可以,自己写的:
   public void saveMyBitmap(String bitName) throws IOException {
         File f = new File("/sdcard/Note/" + bitName + ".png");
         f.createNewFile();
         FileOutputStream fOut = null;
         try {
                  fOut = new FileOutputStream(f);
         } catch (FileNotFoundException e) {
                  e.printStackTrace();
         }
        mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
        try {
                    fOut.flush();
          } catch (IOException e) {
                    e.printStackTrace();
          }
         try {
                fOut.close();
          } catch (IOException e) {
                   e.printStackTrace();
          }
     }

0 0