得到ImageView的图片,压缩成PNG,并得到二进制流数据

来源:互联网 发布:东北软件学院地址 编辑:程序博客网 时间:2024/05/01 23:19
  1. byte[] img_data;  
  2.           
  3. //设置图片  
  4. ImageView imgExtendImageView1 = new ImageView(mContext);  
  5. imgExtendImageView1.setImageResource(R.drawable.test);  
  6.           
  7. //设置尺寸  
  8. imgExtendImageView1.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));  
  9. imgExtendImageView1.layout(00, imgExtendImageView1.getMeasuredWidth(), imgExtendImageView1.getMeasuredHeight());  
  10.           
  11. //得到 Bitmap  
  12. imgExtendImageView1.setDrawingCacheEnabled(true);  
  13. imgExtendImageView1.buildDrawingCache(true);  
  14. Bitmap obmp = imgExtendImageView1.getDrawingCache();  
  15.           
  16. //压缩成PNG  
  17. final ByteArrayOutputStream os = new ByteArrayOutputStream();  
  18. obmp.compress(Bitmap.CompressFormat.PNG, 100, os);  
  19.   
  20. //得到二进制数据  
  21. img_data = os.toByteArray();   
  22.   
  23.   
  24. imgExtendImageView1.setDrawingCacheEnabled(false);  

0 0