Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo dibujar liso / camino redondeado?

Estoy creando Caminos y añadiendo varias líneas en cada ruta usando path.moveTo(x, y) y path.lineTo(x, y) . Entonces canvas.drawPath(path, paint) dibuja todas las rutas. Pero hay 1-2 píxeles de espacio entre líneas en algunos caminos. ¿Cómo puedo eliminar estos espacios? Mi código es algo así:

 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); } 

  • GCM Push Notification con Asp.Net
  • Ciclo de vida de la actividad - recibir notificación de que el diseño está completo
  • SearchView enfocado al ocultar el menú ActionBar
  • Jersey Client en Android - NullPointerException
  • Rotar imagen sin encogerse en Android
  • Android etiqueta XML llamado comer-comentario, ¿cuál es su uso?
  • ¿Qué componente de visualización utiliza Google Plus App (Stream)?
  • Cualquier ejemplo que muestre cómo iniciar sesión con Facebook SDK 4.0 en Android, ya sea utilizando el botón propio o el botón de Facebook?
  • Esquema de url personalizado de Android.?
  • Cómo enviar una solicitud getForObject con parámetros Spring MVC
  • Banda de datos Android @BindingConversion falla para int a cadena
  • HttpURLConnection de Android: controla los redireccionamientos de HTTP
  • 2 Solutions collect form web for “Cómo dibujar liso / camino redondeado?”

    Tal vez esto creará lo que quiere

     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 

    🙂

    Es probable que no quiera lineTo(c, d) y luego inmediatamente moveTo(c, d) que es el mismo punto. Si haces esto, no obtendrás una buena unión de esquina en los dos segmentos de línea, lo que puede parecer una brecha fea.

    Intenta eliminar ese moveTo .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.