近期做微信分享,分享时图片需要用app的logo做为分享图标,因为logo是一个圆角的图标,并且背景为透明色,所以导致分享后图片有黑色的部分
1.第一种解决方案就是直接让ui重新切图
2.直接用代码实现,给图片加白色的背景
在drawable下新建一个名为share_img_bg的文件,类型为layer-list
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@color/white" /><item android:drawable="@mipmap/ic_logo" /></layer-list>
使用
Bitmap bitmap = CommomUtils.drawableToBitamp(context.getResources().getDrawable(R.drawable.shared_img_bg));
UMImage thumb = new UMImage(context, bitmap);//图片;
转换方法
/*** Drawable转换为Bitmap** @param drawable* @return*/
public static Bitmap drawableToBitamp(Drawable drawable) {int w = drawable.getIntrinsicWidth();int h = drawable.getIntrinsicHeight();Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888: Bitmap.Config.RGB_565;Bitmap bitmap = Bitmap.createBitmap(w, h, config);// 注意,下面三行代码要用到,否在在View或者surfaceview里的canvas.drawBitmap会看不到图Canvas canvas = new Canvas(bitmap);drawable.setBounds(0, 0, w, h);drawable.draw(canvas);return bitmap;
}
如果对你有用 ,记得给妹子点个赞哦,么么哒