如果设置成Bitmap.compress(CompressFormat.JPEG, 100, fos) 图片的背景都是黑色的
bitmap.eraseColor(Color.WHITE);// 填充背景颜色 这个照片都是白色的
加上这个都是白色
mBitmap = getBitmapByColor(screenWidth, screenHeight, Color.WHITE);//Immutable bitmap passed to Canvas constructor
Bitmap bitmap= mBitmap.copy(mBitmap.getConfig(),true);//true表示该bitmap对象是可变的;false则反之
canvas = new Canvas(mBitmap);
public Bitmap getBitmapByColor(int width,int height,int color) {
Bitmap newBitmap;
int[] colors = new int[width * height];//新建像素点数组,数组元素个数是位图的宽乘以高
for (int i = 0; i < colors.length; i++) {
colors[i] = color;//将颜色赋值给每一个像素点
}
newBitmap = Bitmap.createBitmap(colors, width, height, Bitmap.Config.ARGB_8888);
return newBitmap;
}
这个有点慢,一样的模糊
bitmapBGColor(mBitmap, Color.WHITE);// 填充背景颜色,另外一种方法
public void setBitmapBGColor(Bitmap bitmap, int color) {
for (int i = 0; i < bitmap.getWidth(); i++) {
for (int j = 0; j < bitmap.getHeight(); j++) {
bitmap.setPixel(i, j, color);//将bitmap的每个像素点都设置成相应的颜色
}
}
}
Canvas设置背景(效果不是特别好)
canvas.drawColor(Color.WHITE);