android - 在 Canvas Android 上绘制多条路径

标签 android canvas paint

我有一个名为 MyView 的类,它扩展了 View。在我的选项菜单中,我有四种颜色。

我想要的是,当我选择绿色并在 Canvas 上绘制路径时,它应该绘制绿色路径,而当我选择红色时,它应该绘制红色路径,之前的绿色应该保持原样......

我成功地绘制了多种颜色的多条路径,但一次只有一种颜色保留在 Canvas 中..那么我该怎么做才能在 Canvas 上绘制多种颜色的路径??

最佳答案

我这样做的方法是通过子类化 Path 来存储颜色和路径:

    private class DrawingPath extends Path
    {
            public DrawingPath(float w, int c)
            {
                    Width = w;
                    Color = c;
            }

            public float Width;
            public int Color;
    }

然后当我绘制每条路径时,我会预先设置颜色。

如您所见,您还可以使用此代码设置宽度,以便更改每个路径的笔触宽度。

为了画这个我用了:

mCanvas.drawColor(Color.WHITE);

for (DrawingPath p : mPaths)
{
    mPaint.setColor(p.Color); 
    mPaint.setStrokeWidth(p.Width);
    mCanvas.drawPath(p, mPaint);
}

invalidate();

关于android - 在 Canvas Android 上绘制多条路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981210/

相关文章:

android - INSTALL_REFERRER BroadcastReceiver 不工作

java - 使用 super.paint() 不会显示任何内容

java - PreferenceActivity 中的 ActionBar

android - 如何圆角按钮但保持其默认外观

javascript - 需要修复 Canvas 绘图尺寸

javascript - 如何在fabricjs中选择位于另一个形状边界内的形状?

delphi - Canvas.TransparentColor 和 Canvas.Draw 与不透明度的组合

winapi - WM_PRINTCLIENT(及相关)文档混淆相关问题

java - 添加 pacman 图像

Android - 在可绘制对象中获取形状颜色/实体