参考:解决Android 微信分享小程序图片显示不全_Keung丶的博客-CSDN博客_小程序分享图片显示不全
上面分享的封面还是不满足需求,我们需求是填充满高度或者宽度,在原基础上做修改:
修改后:
/** * Bitmap 分享到小程序-显示完成的封面图居中 * @param bitmap * @return */ public static Bitmap drawWXMiniBitmap(Bitmap bitmap) { int width; int height; double ratioMax=1.25;//5/4=1.25 // 先按5:4生成一张白色背景图片 boolean isWidthLong = bitmap.getWidth() > bitmap.getHeight(); if (isWidthLong) {//宽屏 width = bitmap.getWidth(); height = (int) (width /ratioMax);// 微信显示小程序的图片是5:4 } else {//竖屏 height = bitmap.getHeight(); width = (int) (height *ratioMax); } Bitmap mBitmap = Bitmap.createScaledBitmap(bitmap, width, height, true); // 用这个Bitmap生成一个Canvas,然后canvas就会把内容绘制到上面这个bitmap中 Canvas mCanvas = new Canvas(mBitmap); mCanvas.drawColor(Color.WHITE); // 绘制画笔 Paint mPicturePaint = new Paint(); // 绘制背景图片 mCanvas.drawBitmap(mBitmap, 0.0f, 0.0f, mPicturePaint); mCanvas.drawBitmap(bitmap, (width-bitmap.getWidth())/2f, (height-bitmap.getHeight())/2f, mPicturePaint); // 保存绘图为本地图片 mCanvas.save(); mCanvas.restore(); return mBitmap; }
期间遇到一个很奇怪的问题,白色画布的比例就是5:4的时候,分享出去,也还是有一点显示不全,宽屏的就宽显示不全,竖屏的就竖显示不全,明明比例一样?
不知道有没有其他人遇到这样的问题,比例一样的,却还是显示不全
另外说分享的图片限制32k,128k的,我看官网文档说的是32k,这样压缩出来会不会太模糊了,我没做压缩处理,好像也可以分享?