有人可以帮我理解path.lineTo(x,y)实际上是如何工作的。我试图在手指画类型的应用程序中绘制一个简单的直线。这是我尝试的一个例子:
mPath.reset();
mPath.moveTo(0, 0);
mPath.lineTo(480, 800);
但这条线仅从0,0到400,400 - 当我将手指移到屏幕上时,距离总是只有一半。 (真正的程序有startX,startY和x,y触摸坐标而不是0,0& 480,800)
答案 0 :(得分:1)
也许这段代码对您有用:
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
Path mPath= new Path();
mPath.moveTo(0, 0);
mPath.lineTo(480, 800);
p.setColor(0xff800000);
canvas.drawPath(mPath,p);
此外,(480,800)坐标是否仍在屏幕内?
答案 1 :(得分:1)
Path
命令可以完全按照您期望的方式工作,上面的命令应该在视图中从左上角到右下角画一条线,完全覆盖480x800的屏幕。
检查以下内容:
问候。
答案 2 :(得分:0)
感谢Goz和其他帮助我解决这个问题的人,有人发现Paint正在使用这个设置:
mPaint.setPathEffect(new CornerPathEffect(1000))
当删除它或将其设置为null时,lineTo会一直运行。一个人刚开始没想到Paint会这样做,但是这个角落的圆角效应可以缩短一条直线。