首页 > 代码库 > 微信图片分享遇到 checkArgs fail, thumbData is invalid
微信图片分享遇到 checkArgs fail, thumbData is invalid
该问题主要是微信图片限制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(); }
微信图片分享遇到 checkArgs fail, thumbData is invalid
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。