问题描述
我有一个基于 Canvas 的视图,我正在尝试实现两个重叠功能
- 网格
- 用户的绘图。
最后,我只想保存没有网格的用户绘图。
- 网格(水平/垂直线) - 我在
draw
方法中绘制这些。
public void draw(Canvas canvas) {
super.draw(canvas);
//Vertical lines
for(int wi=0; wi <= wdivisions+1; wi++){
float xpos = (screenw/wdivisions)*wi;
canvas.drawLine(xpos,xpos,screenh,gridPaint);
}
//Horizontal lines
for(int hi=0; hi < hdivisions+1; hi++){
float ypos = (screenh/hdivisions)*hi;
canvas.drawLine(0,ypos,screenw,gridPaint);
}
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(canvasBitmap,canvasPaint);
canvas.drawPath(drawPath,drawPaint);
}
我尝试了各种选项,例如 canvas.setBitMap
或 canvas.drawBitMap
,但我无法将背景网格与用户绘制的路径分开。
public Bitmap getBitmapFromView(View view)
{
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),view.getHeight(),Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
return bitmap;
}
关于如何解决这个问题的任何想法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)