/** * 清空签名 */ public void clear() { if (mCanvas != null) { isTouched = false; mPaint.setColor(mPenColor); mCanvas.drawColor(mBackColor, PorterDuff.Mode.CLEAR) mPaint.setColor(mPenColor); invalidate(); } }
电子签名时候 通过清除画布清除内容 导致背景被清除 保存到本地 图片变黑
解决:清除画布后 给画布设置白色背景
private int mBackColor = BACK_COLOR;
public static final int BACK_COLOR = Color.WHITE;
/** * 清空签名 */ public void clear() { if (mCanvas != null) { isTouched = false; mPaint.setColor(mPenColor); mCanvas.drawColor(mBackColor, PorterDuff.Mode.CLEAR); mCanvas.drawColor(mBackColor);//给画布设置白色背景 mPaint.setColor(mPenColor); invalidate(); } }