Android path to array – lee los puntos de una ruta?
¿Hay una manera de leer los puntos creados al dibujar un camino? Me parece absurdo que un camino no pueda ser leído.
¿O es mejor escribir manualmente la posición del dedo actual en una matriz?
- Cambiar la ubicación predeterminada del directorio principal en Android Studio
- El gestor SDK de Android no se abrirá
- Dibujar una ruta de movimiento de un solo toque en android
- Android (singletouch) aplicación de dibujo método de deshacer no funciona correctamente
- ¿Cómo se supone que debes usar un ShapeDrawable con una PathShape para dibujar una línea en una vista personalizada?
Gracias
- Captura de pantalla
- Error al instalar apk en el dispositivo 'emulator-5554': timeout
- Cómo llenar una ruta en Android con un gradiente lineal?
- Cómo cambiar el tamaño de un camino?
- Android: Problema con el estilo de ruta en Region.Op
- Android dibuja una línea animada
- Desplazamiento de un objeto de ruta de gráficos sobre
- En android sdk1.5 donde encontrar mi Sqlite Db en mi sistema
Puede leer tantos puntos como desee de cualquier ruta. Ejemplo de cómo leer las coordenadas desde el centro de la ruta:
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);
Puede pasar cualquier distancia desde el inicio de trayectoria para obtener coordenadas de punto.
Por lo que sé, creo que no se pueden obtener puntos agregados anteriormente, pero puede extender la clase Path y crear sus propios métodos de sustitución add, y luego almacenar los puntos en una matriz o una lista o lo que prefiera.
Mencionaste la posición del dedo en tu pregunta. Si está dibujando y utilizando eventos de movimiento, podría agregar las posiciones X e Y a una ArrayList durante el evento en el que todos los índices pares son X y las probabilidades son Y's. Utilicé esto en un par de aplicaciones de dibujo que creé. Para recrear la ruta todo lo que necesita es un bucle for y Path.lineTo ().
También si has dibujado la ruta a una vista con un color específico, por ejemplo Color.Black, puedes usar Bitmap.getPixels (…) y crear una matriz {x0, y0, x1, y1, …. xn, Yn} basado en un bucle for como
int i = 0; for(int y = 0; y < bitmap.getHeight(); y++){ for(int x = 0; x < bitmap.getWidth(); x++){ if(pixels[y*bitmap.getWidth()+x] == Color.BLACK){ xy[i] = x; i++; xy[i] = y; i++; } } }
La matriz xy tiene todas sus coordenadas.
- FloatingActionButton ocultar en la lista de desplazamiento
- No se pueden encontrar archivos de encabezado – Android NDK