• bitmap的用法


    BitMap代表一张位图,扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。例如,一幅1024×768分辨率的32位真彩图片,其所占存储字节数为:1024×768×32/8=3072KB
    位图文件图像效果好,但是非压缩格式的,需要占用较大存储空间,不利于在网络上传送。jpg格式则恰好弥补了位图文件这个缺点。

    在android系统当中,bitmap是图像处理最重要的类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。

    BitmapFactory是Android API提供的对象,可以将图片文件转换成Bitmap对象。

    1.从资源文件中获取

    Bitmap rawBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.img1); 
    

    2.从SD卡中得到图片

    1 (方法1) 
    2 String SDCarePath=Environment.getExternalStorageDirectory().toString(); 
    3 String filePath=SDCarePath+"/"+"haha.jpg"; 
    4 Bitmap rawBitmap1 = BitmapFactory.decodeFile(filePath, null); 
    5 (方法2)
    6 InputStream inputStream=getBitmapInputStreamFromSDCard("haha.jpg"); 
    7 Bitmap rawBitmap2 = BitmapFactory.decodeStream(inputStream); 

     附:将Android系统图库中图片转换成Bitmap对象

    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_GET_CONTENT);
    intent.setType("image/*");
    startActivityForResult(intent, 1);
    
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      if (resultCode == RESULT_OK) {
        Uri uri = data.getData();
        ContentResolver cr = this.getContentResolver();
        try {
          Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));
          second_iv.setImageBitmap(bitmap);
        } catch (FileNotFoundException e) {  
          e.printStackTrace();
        }
      }
      super.onActivityResult(requestCode, resultCode, data);
    }
    

      

  • 相关阅读:
    SpringBoot多数据库连接(mysql+oracle)
    SOAP与REST API的区别
    我与OAuth 2.0那点荒唐的小秘密
    我与Git的那些破事(下)--分支模型
    我与Git的那些破事(上)--代码管理
    Salesforce学习之路(十三)Aura案例实战分析
    Salesforce学习之路(十二)Aura组件表达式
    react 脚手架初次npm start时候运行报错
    兼容ie 提示用户升级浏览器 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    一行代码实现网站一键变灰功能
  • 原文地址:https://www.cnblogs.com/soup227/p/5461260.html
Copyright © 2020-2023  润新知