使用Paint,Canvas - Android改善绘图输出

时间:2017-02-15 20:58:01

标签: java android canvas

我目前正在开发Android上的简单绘图应用程序,它应该像微软的Paint一样工作。为了做到这一点,我使用了Canvas类的drawOwal方法,只要我慢慢移动鼠标/手指,一切看起来都很好,但是当我把它紧固起来而不是平滑线时,它会被分割成小圆圈。

enter image description here

如何使用RectF / drawOval改进我的代码,以便不会出现这些差距?

我的绘图代码如下所示:

@Override
protected void onDraw(Canvas canvas) {
    for(Shape draw: punkty) {
        paint.setColor(draw.getColor());
        if (draw.getShape() == 0)
            canvas.drawOval(draw.getFigure(), paint);
        else if (draw.getShape() == 1)
            canvas.drawRect(draw.getFigure(), paint);
    }
}
@Override
public boolean onTouchEvent(MotionEvent event) {
    shapeToDraw.setFigure(new RectF(event.getX() - shapeToDraw.getSize(), event.getY() - shapeToDraw.getSize(), event.getX() + shapeToDraw.getSize(), event.getY() + shapeToDraw.getSize()));
    punkty.add(new Shape(shapeToDraw.getColor(), shapeToDraw.getFigure(), shapeToDraw.getSize(), shapeToDraw.getShape()));
    invalidate();
    return true;
}

0 个答案:

没有答案