该问题主要是微信图片限制32K以内的原因,可将bmpToByteArray方法进行进行改写。
原方法是:
/** * 得到Bitmap的byte * @author netcorner * @param bmp * @return */ private byte[] bmpToByteArray(Bitmap bmp) { ByteArrayOutputStream output = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG, 100, output); byte[] result = output.toByteArray(); try { output.close(); } catch (Exception e) { e.printStackTrace(); } return result; }
改进的方法
/** * Bitmap转换成byte[]并且进行压缩,压缩到不大于maxkb * @param bitmap * @param maxkb * @return */ public static byte[] bmpToByteArray(Bitmap bitmap, int maxkb) { ByteArrayOutputStream output = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, output); int options = 100; while (output.toByteArray().length > maxkb&& options != 10) { output.reset(); //清空output bitmap.compress(Bitmap.CompressFormat.JPEG, options, output);//这里压缩options%,把压缩后的数据存放到output中 options -= 10; } return output.toByteArray(); }
【缅怀】传奇谢幕,回顾霍金76载传奇人生
【推荐】业界最快速.NET数据可视化图表组件
【腾讯云】买域名送解析+SSL证书+建站
【活动】2050 科技公益大会 - 年青人因科技而团聚
· 刚开始学编程?这几款小工具能让你事半功倍
· 人民日报谈大数据杀熟:看人下菜碟 已构成价格欺诈
· 外媒:Switch的成功意味着任天堂的改变
· 曝猎豹旗下豹便利全面停止铺货 变卖资产折现
· 三星电子分离社长与CEO角色 新增3名独立董事
» 更多新闻...
· 和程序员谈恋爱
· 学会学习
· 优秀技术人的管理陷阱
· 作为一个程序员,数学对你到底有多重要
2013-05-20 关于jquery Easyui DataGrid IE下慢的问题解决办法
2008-05-20 DotNetNuke和SharePoint的比较
2008-05-20 在VS2005怎样自动生成属性