zoukankan      html  css  js  c++  java
  • 微信图片分享遇到 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();
        }
  • 相关阅读:
    图片移动特效
    风云舞
    弹出页面
    javascript放大镜原版
    jquery UI入门
    AJAX demo——操作文本文件
    上一页 1 2 ...10 下一页 百度 GOOGLE 分页
    在后台调用JavaScript打开新页面
    Ext简介
    My97DatePicker
  • 原文地址:https://www.cnblogs.com/netcorner/p/6882637.html
Copyright © 2011-2022 走看看