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

  • Disney Pets and Animals

    Disney Pets

    29 ŞUBAT 2012
  • PorterRobinsonVEVO

    PorterRobins

    11 Kasım 2013
  • Truc Minh

    Truc Minh

    23 Ocak 2011