# android 如何读取本地超大图片

    ``` javapublic static Bitmap getimage(String srcPath,int size) {// 该对象为图片缩放操作对象BitmapFactory.Options newOpts = new BitmapFactory.Options();//开始读入图片,该参数为true时,只会在读取图片的宽高 而不产生bitmap 无论图片大小 都用他读取。newOpts.inJustDecodeBounds = true;Bitmap bitmap = BitmapFactory.decodeFile(srcPath,newOpts);//此时返回bm为空//读取后一定要 设置成false;newOpts.inJustDecodeBounds = false ;//获取 原图图片的长和宽int realw = newOpts.outWidth;int realh = newOpts.outHeight;//现在主流手机比较多是800*480分辨率,所以高和宽我们设置为float hh = 800f;//这里设置高度为800f   缩放后的长float ww = 480f;//这里设置宽度为480f   缩放后的宽//缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可int options = 1;//be=1表示不缩放if (realw> h && realw > ww) {//如果宽度大的话根据宽度固定大小缩放options = (int) (newOpts.outWidth / ww);} else if (realw < realh && realh> hh) {//如果高度高的话根据宽度固定大小缩放options = (int) (newOpts.outHeight / hh);}if (options <= 0)options = 1;    newOpts.inSampleSize = options;//设置缩放比例//重新读入图片,注意此时已经把options.inJustDecodeBounds 设回false了bitmap = BitmapFactory.decodeFile(srcPath, newOpts);//如果是一张超大图的话  经过以上处理 图片应该就变成了一个800x480的图片了      //以上是尺寸 缩放,一般这样处理后就不会oom了,如果还要oom 就进行质量压缩//return bitmap;return  compressImage(bitmap,size);}/*** * @param image 要压缩的bitmap* @param size 要控制的大小(单位为kb)* @return*/private static Bitmap compressImage(Bitmap image,int size) {if(image==null){return null;}ByteArrayOutputStream baos = new ByteArrayOutputStream();image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中int options = 100;LogUtil.i("图片大小1", baos.toByteArray().length);while ( baos.toByteArray().length >size) {  //循环判断如果压缩后图片是否大于size kb,大于继续压缩     baos.reset();//重置baos即清空baosimage.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中options -= 10;//每次都减少10}ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());//把压缩后的数据baos存放到ByteArrayInputStream中LogUtil.i("图片大小2", baos.toByteArray().length);Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);//把ByteArrayInputStream数据生成图片return bitmap;}```

android 读取本地超大图片相关推荐

  1. android mp3 lrc歌词文件utf-8歌词显示为乱码,Android读取本地json文件的方法(解决显示乱码问题)...

    本文实例讲述了Android读取本地json文件的方法.分享给大家供大家参考,具体如下: 1.读取本地JSON ,但是显示汉字乱码 public static String readLocalJson ...

  2. Android 读取本地txt文件中的内容

    Android 读取本地txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputSt ...

  3. Android获取本地相册图片

    Android获取本地相册图片 第一步设置静态权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_S ...

  4. android读取外部图片,Android读取本地图库与调用摄像头拍摄

    本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄. 一.布局 布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外R ...

  5. Android 读取本地图片文件和读取图片的uri

    想读取本地项目里的资源图片,但又不能用到R文件. 总结以下几种读取Bitmap的方法: 1.以文件流的方式,假设sdcard里面有a.png图片 FileInputStream fs = new Fi ...

  6. android加载本地图库,Android读取本地图库与调用摄像头拍摄

    本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄. 一.布局 布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外R ...

  7. Android之本地相册图片选取和拍照以及图片剪辑

    转载请注明出处:http://blog.csdn.net/loveyaozu/article/details/51160482 相信有很多Android开发人员在日常开发中,由于项目需求,需要我们的A ...

  8. Android--ImageView读取本地路径图片

    看了网上一些对于本地路径图片的读取,总结了两个小方法 将路径初始化为Uri imageview.setImageURI(Uri.fromFile(new File(这里填路径字符串))); 将流转化成 ...

  9. Android 将本地资源图片转换成Drawable,进行设置大小

    前言: 因为项目中显示图片是用Picasso,设置placeholder和error图片的时候发现,本地图片的大小无法满足我的需求,需要先对图片大小改变再显示. Picasso的placeholder ...

  10. Android 读取本地图片

    创建一个工具类 :FileUtil package com.example.testUtil;import java.io.File; //从本地读取图片 public class FileUtil ...

最新文章

  1. Android CheckedTextView 实现单选与多选
  2. 微软分享史上最大基于Transformer架构的语言生成模型
  3. iOS UIButton(按钮)
  4. 预录取到计算机,预录取什么情况不录取 原因有哪些
  5. 多个tomcat配置
  6. 麻省理工计算机科学录取条件,2018美国留学:麻省理工学院托福分数最低录取要求...
  7. laravel blade 标签与vue标签冲突
  8. 宅家36天咸鱼翻身入职腾讯,值得收藏!
  9. python压缩与读取.tar.bz2压缩包
  10. 织梦自定义html文本,织梦内容模型自定义字段及调用方法
  11. 制输电线路行波测距PSCAD仿真模型ATP-EMTP
  12. 昂达V971四核测评
  13. chromium os 编译
  14. icloud与mysql_ICloud 应用实例(一)
  15. 正弦波的生成及混频器
  16. 关于按钮“按下”效果的两种实现
  17. mac系统+frida 简单测试真机or genymotion模拟器
  18. jQuery 选择器 选取第一个 p 元素
  19. PHP+Nginx+宝塔+rsync代码同步 实现Nginx负载均衡
  20. 全球及中国食品级隔膜泵行业需求分析与发展战略规划研究报告2022-2028年

热门文章

  1. Python--快速爬取千张高清壁纸
  2. 后台传给小程序的时间对象如何转为“YYYY/MM/DD“格式渲染
  3. matlab兔子问题,【matlab】狼追击兔子问题的建模
  4. 兔子数列规律怎么讲_“兔子数列”的秘密
  5. 计算机页面下没有桌面图标,电脑下面小图标没了怎么办
  6. 108-周跳探测之GF
  7. “用户体验及可用性测试”第4-6章-读书笔记
  8. ae 渲染 计算机内存不足,AE内存不足怎么办? After Effects内存不足【解决方法】...
  9. [保姆级教程] 从原理到应用,超级详细的MPU6050传感器整理,看完这一篇就够了
  10. Win10,Win11家庭版开启远程桌面接入功能-有详细操作截屏