参考:解决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,这样压缩出来会不会太模糊了,我没做压缩处理,好像也可以分享?