java - 如何在android Canvas 中绘制一个实心三角形?

标签 java android google-maps android-canvas

所以我在我的 draw 方法中使用下面的代码在 android map 中绘制这个三角形:

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

pointX_returned 是我从字段中获取的坐标。它们基本上是纬度和经度。 结果是一个漂亮的三角形,但内部是空的,因此我可以看到 map 。有没有办法以某种方式填充它?

最佳答案

好的,我已经完成了。我共享此代码以防其他人需要它:

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;

感谢 Nicolas 的提示!

关于java - 如何在android Canvas 中绘制一个实心三角形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501126/

相关文章:

google-maps - 间歇性谷歌地图 api 授权错误

java - SQL JDBC 模板参数如果参数值为空则使用数据库中的内容

java - 乔达 : Convert Date and Time to DateTime

Android,如何将 BLE 设备制作成配对设备(绑定(bind))

android - E/SQLiteLog: (10) Failed to do file read, got : 0, amt : 100, last Errno: 2

java - applyLinearImpulse 不起作用(Box2d)

javascript - 如何访问 Angular 模板中的 map 对象

java - 如何@autowire 一些 bean 进入 JsonSerializer?

java - 从命令行执行包含 jar 的 jar

html - 如何在 agm-map 的特定位置显示自定义 DOM 元素