当前位置: 首页 > 面试题库 >

如何绘制平滑/圆角的路径?

蔚元明
2023-03-14
问题内容

我正在创建路径,并使用path.moveTo(x, y)和在每个路径中添加多行path.lineTo(x, y)。然后canvas.drawPath(path, paint)绘制所有路径。但是某些路径中的线之间有1-2个像素的间隔。如何删除这些空格?我的代码是这样的:

paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setDither(false);
paint.setStrokeWidth(3);
paint.setAntiAlias(true);

for (int i = 0; i < length; i++) {
     Path path = new Path();
     path.moveTo(a, b);
     path.lineTo(c, d);
     path.moveTo(c, d);
     path.lineTo(e, f);
     canvas.drawPath(path, paint);
}

问题答案:

也许这会创造你想要的

paint.setColor(color);                    // set the color
paint.setStrokeWidth(size);               // set the size
paint.setDither(true);                    // set the dither to true
paint.setStyle(Paint.Style.STROKE);       // set to STOKE
paint.setStrokeJoin(Paint.Join.ROUND);    // set the join to round you want
paint.setStrokeCap(Paint.Cap.ROUND);      // set the paint cap to round too
paint.setPathEffect(new CornerPathEffect(10) );   // set the path effect when they join.
paint.setAntiAlias(true);                         // set anti alias so it smooths

:)



 类似资料:
  • clip-path 这样绘制的是非圆角的平行四边形!

  • 在java中,我有三个点,表示两条线和一个角度。现在我必须创建角度弧大约10个像素,除了公共点。在弧线上显示角度。我可以计算角度,但如何画弧线和显示弧线上的角度。请告诉我一些代码视图或链接,我可以找到解决方案。代码片段如下。 我不知道如何使用DrawArc来绘制我想要的精确的圆弧,也不知道如何在上面设置角度。 谢谢

  • 这个TAB中间的这种,后面有个平滑凸起的背景

  • 请问怎么把vantUI里的van-tabbar改造成这样凸起来比较平滑的半圆呀 用过伪元素,但是效果不太好 画出来的效果是这样,中间有一条细线,不知道你们能不能看出来,而且跟下面的tabbar的左右连接处不是很丝滑

  • 问题内容: 我发现只能填充矩形,而没有圆角,该怎么办? 问题答案: HTML5画布没有提供绘制带有圆角的矩形的方法。 如何使用和方法? 您也可以使用方法代替方法。

  • 问题内容: 我有以下绘制图形的简单脚本: 就目前而言,这条线从一条直线到另一条直线看起来不错,但在我看来可能会更好。我想要的是使两点之间的线变得平滑。在中,我会用绘制。 在PyPlot中有一种简单的方法吗?我找到了一些教程,但是它们看起来都相当复杂。 问题答案: 你可以自己整理数据: scipy 0.19.0中不推荐使用spline,请改用BSpline类。 从切换到复制并不是简单的复制/粘贴操作