Java 如何绘制平滑/圆形路径?
我使用Java 如何绘制平滑/圆形路径?,java,android,path,paint,Java,Android,Path,Paint,我使用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); pai
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=new paint();
油漆。设置颜色(颜色。红色);
绘制.设置样式(绘制.样式.填充和笔划);
绘制。设置抖动(假);
油漆。设置行程宽度(3);
paint.setAntiAlias(真);
for(int i=0;i
您可能不想行到(c,d)
然后立即移动到(c,d)
,这是相同的点。如果您这样做,您将无法在两条线段上获得良好的拐角连接,这可能看起来像一个丑陋的间隙
尝试删除该
moveTo
可能这将创建您想要的内容
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
:)您需要安装代码。您尝试过在绘制对象上设置抗锯齿吗?这对我很有效,非常感谢!