完成一个小功能。
参考:https://www.jianshu.com/p/c4f017603413
主要的绘制的代码来自于上面的dalao,效果还不错。
看起来笔迹还是挺柔顺的。
一开始,在画图以后不知道怎么把笔迹保存下来,View中的onDraw方法中自带canvas,又不能保存到bitmap中,卡了很久。后来换了一种思路,我可以把View保存下来啊,这样就很简单了。
public Bitmap convertViewToBitmap(View view){Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);//利用bitmap生成画布Paint paint = new Paint();paint.setColor(Color.WHITE);Canvas canvas = new Canvas(bitmap);canvas.drawRect(0, 0, bitmap.getWidth(), bitmap.getHeight(), paint);canvas.drawBitmap(bitmap, 0, 0, paint);//把view中的内容绘制在画布上view.draw(canvas);return bitmap;}
参考:http://www.aspku.com/kaifa/android/167382.html
在获取到bitmap以后,事情就好办了,也可以在ImageView显示签名的笔迹了。但是在保存bitmap以后,发现在相册的图片是全黑的,本来还以为因为我的bitmap没有数据,后来试试用红色的笔迹来画图,居然在相册可以看到。那么问题就出在保存bitmap的时候系统把背景设置为黑色,和黑色的笔迹重叠以后就是全黑的图片了。
所有在后来重新new了一个paint对象,用来把背景画白,这样就能在保存的时候看到黑色的笔迹了。