import java.io.BufferedOutputStream;
04.import java.io.ByteArrayOutputStream;
05.import java.io.File;
06.import java.io.FileOutputStream;
07.import java.io.IOException;
08.import java.io.InputStream;
09.
10.import android.graphics.Bitmap;
11.import android.graphics.BitmapFactory;
12.import android.graphics.Matrix;
13.
14.public class ImageDispose {
15.
16.
17.
18. /**
19. * @param 将图片内容解析成字节数组
20. * @param inStream
21. * @return byte[]
22. * @throws Exception
23. */
24. public static byte[] readStream(InputStream inStream) throws Exception {
25. byte[] buffer = new byte[1024];
26. int len = -1;
27. ByteArrayOutputStream outStream = new ByteArrayOutputStream();
28. while ((len = inStream.read(buffer)) != -1) {
29. outStream.write(buffer, 0, len);
30. }
31. byte[] data = outStream.toByteArray();
32. outStream.close();
33. inStream.close();
34. return data;
35.
36. }
37. /**
38. * @param 将字节数组转换为ImageView可调用的Bitmap对象
39. * @param bytes
40. * @param opts
41. * @return Bitmap
42. */
43. public static Bitmap getPicFromBytes(byte[] bytes,
44. BitmapFactory.Options opts) {
45. if (bytes != null)
46. if (opts != null)
47. return BitmapFactory.decodeByteArray(bytes, 0, bytes.length,
48. opts);
49. else
50. return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
51. return null;
52. }
53. /**
54. * @param 图片缩放
55. * @param bitmap 对象
56. * @param w 要缩放的宽度
57. * @param h 要缩放的高度
58. * @return newBmp 新 Bitmap对象
59. */
60. public static Bitmap zoomBitmap(Bitmap bitmap, int w, int h){
61. int width = bitmap.getWidth();
62. int height = bitmap.getHeight();
63. Matrix matrix = new Matrix();
64. float scaleWidth = ((float) w / width);
65. float scaleHeight = ((float) h / height);
66. matrix.postScale(scaleWidth, scaleHeight);
67. Bitmap newBmp = Bitmap.createBitmap(bitmap, 0, 0, width, height,
68. matrix, true);
69. return newBmp;
70. }
71.
72. /**
73. * 把Bitmap转Byte
74. * @Author HEH
75. * @EditTime 2010-07-19 上午11:45:56
76. */
77. public static byte[] Bitmap2Bytes(Bitmap bm){
78. ByteArrayOutputStream baos = new ByteArrayOutputStream();
79. bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
80. return baos.toByteArray();
81. }
82. /**
83. * 把字节数组保存为一个文件
84. * @Author HEH
85. * @EditTime 2010-07-19 上午11:45:56
86. */
87. public static File getFileFromBytes(byte[] b, String outputFile) {
88. BufferedOutputStream stream = null;
89. File file = null;
90. try {
91. file = new File(outputFile);
92. FileOutputStream fstream = new FileOutputStream(file);
93. stream = new BufferedOutputStream(fstream);
94. stream.write(b);
95. } catch (Exception e) {
96. e.printStackTrace();
97. } finally {
98. if (stream != null) {
99. try {
100. stream.close();
101. } catch (IOException e1) {
102. e1.printStackTrace();
103. }
104. }
105. }
106. return file;
107. }
108.
109.}
分享到:
相关推荐
android imageview 图片缩放 图片缩放、移动+异步加载+Activity半透明
android 将Imageview 将view生成图片后保存到本地相册的实现生成图片后保存到本地相册的实现,android 将Imageview生成图片后保存到本地相册的实现 android 将Imageview生成图片后保存到本地相册的实现, 有需要的朋友...
Android 类新闻图片详情 ImageView根据手势缩放 滑动显示多张图片
1、这是一个支持缩放的ImageView,可直接引入使用
自定义可拖动可缩放的ImageView,通过Matrix和TouchListener实现,随后会加旋转。
android 动态旋转图片 Bitmap与Matrix旋转ImageView
Android、Matrix、ImageView、Bitmap结合使用
AndroidImageView控件缩放和旋转图片源码.zip
Android源码——ImageView控件缩放和旋转图片源码.zip
用于android的Imageview缩放库
Android点击imageview具有缩放效果,在点击事件中进行处理
在Git上面找了个可缩放的ImageView控件,可能版本过低,所以自己改了改
android中对Bitmap图片设置任意角为圆角
这是我找了半天的demo,自定义的ImageView从网络获取图片在显示到手机上缩放,再改成适合自己的缩放图片,公布给需要找图片缩放功能的小伙伴。
android自定义ImageView实现缩放,回弹效果。
现在app中,图片预览功能肯定是少不了的,用户基本已经形成条件反射,看到小图,点击看大图,看到大图两个手指开始进行放大,放大后,开始移动到指定部位想要做到图片支持多点触控,自由的进行缩放、平移 以及事件...
Android图片放大缩小操作范例,单击对应的按钮,可将一张图片进行放大或缩小显示,实现的步骤大概是: 取得屏幕分辨率大小 ,对获取到的屏幕高度扣除下方Button高度,定义缩小按钮onClickListener 和...
android ImageView控件缩放和旋转图片源码.rar
可拖动的ImageView的实现,关键在定义一个onTouchListener,并且将ImageView的scaleType设置为matrix
android imageview 多点触碰(Multitouch)实现图片拖拽移动缩放 RT 仿照官方版本的图片浏览效果 新手