SORU
17 AĞUSTOS 2010, Salı


Nasıl android tuval dolu bir üçgen çizmek için?

Android haritalar çizmek benim yönteminde aşağıdaki kodu kullanarak bu üçgen çiziyorum:

paint.setARGB(255, 153, 29, 29);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setAntiAlias(true);

Path path = new Path();
path.moveTo(point1_returned.x, point1_returned.y);
path.lineTo(point2_returned.x, point2_returned.y);
path.moveTo(point2_returned.x, point2_returned.y);
path.lineTo(point3_returned.x, point3_returned.y);
path.moveTo(point3_returned.x, point3_returned.y);
path.lineTo(point1_returned.x, point1_returned.y);
path.close();

canvas.drawPath(path, paint);

Bu pointX_returned alanlardan alacağım koordinatları. Temel olarak enlem ve boylam çizgileri. Sonuç güzel bir kare ama içeriden boş olduğunu ve bu nedenle haritada görebiliyorum. Bir şekilde bunu bir şekilde doldurmak için var mı?

CEVAP
17 AĞUSTOS 2010, Salı


Tamam yaptım. Başkasına ihtiyaç durumunda: bu kodu paylaşıyorum

super.draw(canvas, mapView, true);

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

paint.setStrokeWidth(2);
paint.setColor(android.graphics.Color.RED);     
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setAntiAlias(true);

Point point1_draw = new Point();        
Point point2_draw = new Point();    
Point point3_draw = new Point();

mapView.getProjection().toPixels(point1, point1_draw);
mapView.getProjection().toPixels(point2, point2_draw);
mapView.getProjection().toPixels(point3, point3_draw);

Path path = new Path();
path.setFillType(Path.FillType.EVEN_ODD);
path.moveTo(point1_draw.x,point1_draw.y);
path.lineTo(point2_draw.x,point2_draw.y);
path.lineTo(point3_draw.x,point3_draw.y);
path.lineTo(point1_draw.x,point1_draw.y);
path.close();

canvas.drawPath(path, paint);

//canvas.drawLine(point1_draw.x,point1_draw.y,point2_draw.x,point2_draw.y, paint);

return true;

İpucu için teşekkürler Nicolas!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • Gimpology.com Video Tutorials

    Gimpology.co

    3 ŞUBAT 2008
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006