Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何绘制平滑/圆形路径?_Java_Android_Path_Paint - Fatal编程技术网

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

:)

您需要安装代码。您尝试过在绘制对象上设置抗锯齿吗?这对我很有效,非常感谢!