android - 如何在android中将路径绘制到 Canvas 中?

标签 android canvas

您好,我想在 Canvas 中绘制路径,但它什么也没做,它也不绘制 Canvas 。
我的代码:

Path path = new Path();
Canvas canvas = new Canvas();

Paint paint = new Paint();
paint.setColor(Color.BLACK);

canvas.drawColor(Color.CYAN);

for (int i = 5; i < 50; i++)
{
    path.setLastPoint(4, i - 1);
    path.lineTo(4, i);
}
path.close();
for (int i = 0; i < 5; i++)
{
    View iview = inflater.inflate(R.layout.linear_layout, null);
    iview.findViewById(R.id.imageView1);//.setBackgroundColor(backgroundColors[i]);

    ShapeDrawable mDrawable = new ShapeDrawable(new OvalShape());
    mDrawable.getPaint().setColor(Color.YELLOW);
    mDrawable.setBounds(10, 10, 15, 15);

    canvas.drawPath(path, paint);
    mDrawable.draw(canvas);

    iview.draw(canvas);
    realViewSwitcher.addView(iview);
}

它只显示绿色,这是 view.backroundColor 的默认值。

谢谢

最佳答案

Canvas 只是一个在 Bitmap 上绘图的“工具”。您需要以这种方式关联它们:

Canvas canvas = new Canvas(someBitmap);

然而,这只允许您在 someBitmap 上绘制。如果你想在 View 中绘制,你必须在 onDraw(Canvas) 中使用你提供的 Canvas 来完成,它已经与位图绑定(bind)那是实景图。

要使用onDraw(),您必须制作自定义 View (即,从某些 View 扩展)。

然后是 SurfaceView 但那是另一回事(我对此了解不多)。

关于android - 如何在android中将路径绘制到 Canvas 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5928721/

相关文章:

javascript - 在加载图像、裁剪图像并将其绘制到 Canvas 上之后,如何允许用户在 base64 转换之前旋转图像?

javascript - 使用 javascript 打印 Canvas 图像

java - Android - Blogger(最佳身份验证方法 - ClientLogin 等)

android - 何时将分支 merge 到主分支

android - 我想在 volley 调用中发送 json 对象作为参数

javascript - 在 mozilla canvas 中拖放

javascript - 如何将图像插入 Canvas 弧?

javascript - 以弯曲的路径移动一个 div(就像过去的 Flash 中的补间)?

Android getResource() 未定义错误

安卓 MotionEvent getY(int) : Which call is the correct way?