我编写了一个绘图应用程序,我想检索绘图的所有XY。也就是说,每次我触摸屏幕时,坐标x和y都会将它们放在二维表中,
我举杯庆祝,发现坐标何时发生变化,然后我发现它们在movetouch方法中发生了变化,因此我在该方法中声明了一个表格,但仍然举杯庆祝,看了我数组的第10行,举杯改变了-ordination,所以我了解到实际上无论x和y发生变化还是我种植时,值都会被压碎
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startTouch(x, y);
invalidate();
break;
case MotionEvent.ACTION_UP:
upTouch();
invalidate();
break;
case MotionEvent.ACTION_MOVE:
moveTouche(x, y);
invalidate();
break;
}
return true;
}
方法moveTouch
public void moveTouche (float x,float y ) {
if ((canDraw)&& drawing) {
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if(dx >= Tolerance || dy >= Tolerance){
path.quadTo(mX,mY,(x+mX)/2,(y+mY)/2);
mX = x ;
mY = y;
double[][] point = new double [99][2];
for (int i = 0; i < 99; i++) {
point[i][0]=x;
point[i][1]=y;
}
Toast.makeText(getContext(),"y = "+point[10][1]+" ",Toast.LENGTH_LONG).show();
}}
}
您可以从任何路径读取任意多的点。示例如何从路径中间读取坐标:
PathMeasure pm = new PathMeasure(myPath, false);
//coordinates will be here
float aCoordinates[] = {0f, 0f};
//get coordinates of the middle point
pm.getPosTan(pm.getLength() * 0.5f, aCoordinates, null);
您可以从路径开始经过任何距离来获取点坐标。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句