2017-01-20 38 views
0

我知道我可以使用此代码上绘制矩形线:Android帆布,如何在现有形状下绘制东西?

paint.setColor(Color.RED); 
canvas.drawRect(100, 100, 400, 400, paint); 

paint.setColor(Color.GREEN); 
canvas.drawLine(0, 0, 500, 500, paint); 

与画布看起来是这样的:

enter image description here

但现在我要画下的线长方形没有交换他们图纸的顺序,它应该像:

enter image description here

我该怎么做?

画布是否可以撤消刚画的内容?

帆布是否有它的层,这是我可以指定要借鉴?

+0

你需要计算交点和不画有 – Selvin

+0

我认为你应该从(0,0)画两条直线到矩形的左上角,然后绘制矩形,然后从右下角画出新的一行到(500,500) –

回答

0

可以使用CustomViews只需通过画两条线绘制形状和现有形状或图片

+0

我知道'onDraw'给出了一个清理画布时,它被称为,但我没有使用自定义视图,我只是使用'新的画布(位图)',也许我想知道的是,W hether画布可以撤消刚才画的内容吗? –

0

你可以这样做:

paint.setColor(Color.RED); 
    canvas.drawRect(100, 100, 400, 400, paint); 

    paint.setColor(Color.GREEN); 
    canvas.drawLine(0, 0, 100, 100, paint); 
    canvas.drawLine(400, 400, 500, 500, paint);