android 将图片内容解析成字节数组,将字节数组转换为ImageView可调用的Bitmap对象,图片缩放,把字节数组保存为一个文件,把Bitmap转Byteimport java.io.BufferedOutputStream;  import java.io.ByteArrayOutputStream;  import java.io.File;  import java.io.FileOutputStream;  import java.io.IOException;  import java.io.InputStream;    import android.graphics.Bitmap;  import android.graphics.BitmapFactory;  import android.graphics.Matrix;    public class ImageDispose {                        /**      * @param 将图片内容解析成字节数组      * @param inStream      * @return byte[]      * @throws Exception      */      public static byte[] readStream(InputStream inStream) throws Exception {          byte[] buffer = new byte[1024];          int len = -1;          ByteArrayOutputStream outStream = new ByteArrayOutputStream();          while ((len = inStream.read(buffer)) != -1) {              outStream.write(buffer, 0, len);          }          byte[] data = outStream.toByteArray();          outStream.close();          inStream.close();          return data;        }      /**      * @param 将字节数组转换为ImageView可调用的Bitmap对象      * @param bytes      * @param opts      * @return Bitmap      */      public static Bitmap getPicFromBytes(byte[] bytes,              BitmapFactory.Options opts) {          if (bytes != null)              if (opts != null)                  return BitmapFactory.decodeByteArray(bytes, 0, bytes.length,                          opts);              else                  return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);          return null;      }      /**      * @param 图片缩放      * @param bitmap 对象      * @param w 要缩放的宽度      * @param h 要缩放的高度      * @return newBmp 新 Bitmap对象      */      public static Bitmap zoomBitmap(Bitmap bitmap, int w, int h){          int width = bitmap.getWidth();          int height = bitmap.getHeight();          Matrix matrix = new Matrix();          float scaleWidth = ((float) w / width);          float scaleHeight = ((float) h / height);          matrix.postScale(scaleWidth, scaleHeight);          Bitmap newBmp = Bitmap.createBitmap(bitmap, 0, 0, width, height,                  matrix, true);          return newBmp;      }            /**      * 把Bitmap转Byte      */      public static byte[] Bitmap2Bytes(Bitmap bm){          ByteArrayOutputStream baos = new ByteArrayOutputStream();          bm.compress(Bitmap.CompressFormat.PNG, 100, baos);          return baos.toByteArray();      }      /**      * 把字节数组保存为一个文件      */      public static File getFileFromBytes(byte[] b, String outputFile) {          BufferedOutputStream stream = null;          File file = null;          try {              file = new File(outputFile);              FileOutputStream fstream = new FileOutputStream(file);              stream = new BufferedOutputStream(fstream);              stream.write(b);          } catch (Exception e) {              e.printStackTrace();          } finally {              if (stream != null) {                  try {                      stream.close();                  } catch (IOException e1) {                      e1.printStackTrace();                  }              }          }          return file;      }            }  

更多相关文章

  1. 箭头函数的基础使用
  2. Android(安卓)P SystemUi启动流程
  3. android 之绘图
  4. Android热更新之so库的热更新
  5. Android视频采集
  6. Android多媒体学习一:Android中Image的简单实例。
  7. Android视频采集
  8. 代码实现Android流量统计
  9. Android仿人人客户端(v5.7.1)——新鲜事之分享照片

随机推荐

  1. Android(安卓)App 内存泄露之Handler
  2. Android(安卓)简单记事本
  3. Android(安卓)架构师之路20 响应式编程Rx
  4. Android(安卓)显示Intent和隐式Intent
  5. Android(安卓)设置wifi连接应用开发
  6. Android紧急号码列表修改
  7. Android(安卓)USB Host与HID设备通信
  8. AndroidStudio中使用SVG
  9. android(4) 第一次启动滑动界面
  10. android ListView在数据为空的时候headVi