写点什么

Android 微信分享图片按质量压缩的解决方案,Android 学习笔记在互联网上火了

作者:嘟嘟侠客
  • 2021 年 11 月 27 日
  • 本文字数:1194 字

    阅读完需:约 4 分钟

}return data;}

三、将 io 流转为 byte 数组

public static byte[] inputStreamToByte(InputStream is) {try {ByteArrayOutputStream bytestream = new ByteArrayOutputStream();int ch;while ((ch = is.read()) != -1) {bytestream.write(ch);}byte imgdata[] = bytestream.toByteArray();bytestream.close();return imgdata;} catch (Exception e) {e.printStackTrace();}


return null;}

四、按质量压缩

/**


  • 按质量压缩图片

  • @param src bitmap 图片

  • @param maxByteSize 最大字节数

  • @param recycle

  • @return*/public static byte[] compressByQuality(final Bitmap src, final long maxByteSize, final boolean recycle) {ByteArrayOutputStream baos = new ByteArrayOutputStream();src.compress(CompressFormat.JPEG, 100, baos);byte[] bytes;if (baos.size() <= maxByteSize) {bytes = baos.toByteArray();} else {baos.reset();src.compress(CompressFormat.JPEG, 0, baos);if (baos.size() >= maxByteSize) {bytes = baos.toByteArray();} else {// find the best quality using binary searchint st = 0;int end = 100;int mid = 0;while (st < end) {mid = (st + end) / 2;baos.reset();src.compress(CompressFormat.JPEG, mid, baos);int len = baos.size();if (len == maxByteSize) {break;} else if (len > maxByteSize) {end = mid - 1;} else {st = mid + 1;}}if (end == mid - 1) {baos.reset();src.compress(CompressFormat.JPEG, st, baos);}bytes = baos.toByteArray();}}if (recycle && !src.isRecycled()) src.recycle();return bytes;}

五、微信分享

WXWebpageObject object = new WXWebpageObject();object.webpageUrl = url;WXMediaMessage wxMediaMessage = new WXMediaMessage(object);// 标题 wxMediaMessage.title = title;// 描述 wxMediaMessage.description = des.substring(0, 20);// 图片 wxMediaMessage.thumbData = Util.getHtmlByteArray(image);//构造一个 ReqSendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = String.valueOf(System.currentTimeMillis());req.message = wxMediaMessage;req.scene = SendMessageToWX.Req.WXSceneSession;mIWXAPI.sendReq(req);

最后

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。



**本文已被[CODI


《Android 学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享


NG 开源项目:《Android 学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》]( )收录**

用户头像

嘟嘟侠客

关注

还未添加个人签名 2021.03.19 加入

还未添加个人简介

评论

发布
暂无评论
Android微信分享图片按质量压缩的解决方案,Android学习笔记在互联网上火了