From 441c8c2300952c3b809c9b1c2984c1290083c24c Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期五, 03 四月 2020 14:19:17 +0800 Subject: [PATCH] 坐标 --- app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java | 57 ++++++++++++++++++++++++++++ app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java | 19 +++++---- 2 files changed, 67 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java index fd12504..5465865 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java @@ -699,7 +699,12 @@ // paintnv.setStrokeWidth(1.0f); // paintnv.setAntiAlias(true); - float compassOX = bmp.getWidth() - 60, compassOY = 60; + paint.setStyle(Paint.Style.FILL_AND_STROKE); + + canvas3.drawColor(Color.YELLOW); + + // 鎸囧崡閽� ++++++++++++++++++++++++++++++++++++++++++++++++++++ + float compassOX = bmp2.getWidth() - 60, compassOY = 60; float compass1X = compassOX + 7, compass1Y = compassOY; float compass2X = compassOX, compass2Y = compassOY + 30; @@ -727,8 +732,8 @@ paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.RED); - canvas2.drawCircle((float)compassO.getX(), (float)compassO.getY(), 20, paint); - canvas2.drawCircle((float)compassO.getX(), (float)compassO.getY(), 40, paint); + canvas3.drawCircle((float)compassO.getX(), (float)compassO.getY(), 20, paint); + canvas3.drawCircle((float)compassO.getX(), (float)compassO.getY(), 40, paint); paint.setStyle(Paint.Style.FILL_AND_STROKE); paint.setColor(Color.BLUE); @@ -739,7 +744,7 @@ compassN.lineTo((float)compass2.getX(), (float)compass2.getY()); compassN.lineTo((float)compass3.getX(), (float)compass3.getY()); compassN.close(); - canvas2.drawPath(compassN, paint); + canvas3.drawPath(compassN, paint); paint.setColor(Color.RED); Path compassS = new Path(); @@ -748,11 +753,9 @@ compassS.lineTo((float)compass5.getX(), (float)compass5.getY()); compassS.lineTo((float)compass6.getX(), (float)compass6.getY()); compassS.close(); - canvas2.drawPath(compassS, paint); + canvas3.drawPath(compassS, paint); + // 鎸囧崡閽� ------------------------------------------- - paint.setStyle(Paint.Style.FILL_AND_STROKE); - - canvas3.drawColor(Color.YELLOW); if (osdHeading != null) { Path pathText = new Path(); diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java index 7a45b9b..f3fb978 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java @@ -150,7 +150,7 @@ screen_height = canvas.getHeight(); surfaceHolder.unlockCanvasAndPost(canvas); - bmp = Bitmap.createBitmap(screen_width, screen_height, Bitmap.Config.ARGB_8888); + bmp = Bitmap.createBitmap(screen_width*2/3, screen_height, Bitmap.Config.ARGB_8888); canvas2 = new Canvas(bmp); canvas2.drawColor(Color.WHITE); @@ -467,6 +467,61 @@ paint.setStyle(Paint.Style.FILL_AND_STROKE); canvas3.drawColor(Color.YELLOW); + + // 鎸囧崡閽� ++++++++++++++++++++++++++++++++++++++++++++++++++++ + float compassOX = bmp2.getWidth() - 60, compassOY = 60; + + float compass1X = compassOX + 7, compass1Y = compassOY; + float compass2X = compassOX, compass2Y = compassOY + 30; + float compass3X = compassOX - 7, compass3Y = compassOY; + + float compass4X = compassOX + 7, compass4Y = compassOY; + float compass5X = compassOX, compass5Y = compassOY - 30; + float compass6X = compassOX - 7, compass6Y = compassOY; + + PointF compassO = new PointF(compassOX, compassOY); + PointF compass1 = new PointF(compass1X, compass1Y); + PointF compass2 = new PointF(compass2X, compass2Y); + PointF compass3 = new PointF(compass3X, compass3Y); + PointF compass4 = new PointF(compass4X, compass4Y); + PointF compass5 = new PointF(compass5X, compass5Y); + PointF compass6 = new PointF(compass6X, compass6Y); + + compass1 = rotatePoint(compass1, compassO, yaw); + compass2 = rotatePoint(compass2, compassO, yaw); + compass3 = rotatePoint(compass3, compassO, yaw); + compass4 = rotatePoint(compass4, compassO, yaw); + compass5 = rotatePoint(compass5, compassO, yaw); + compass6 = rotatePoint(compass6, compassO, yaw); + + paint.setStyle(Paint.Style.STROKE); + paint.setColor(Color.RED); + + canvas3.drawCircle((float)compassO.getX(), (float)compassO.getY(), 20, paint); + canvas3.drawCircle((float)compassO.getX(), (float)compassO.getY(), 40, paint); + + paint.setStyle(Paint.Style.FILL_AND_STROKE); + paint.setColor(Color.BLUE); + Path compassN = new Path(); + + compassN.moveTo((float)compassO.getX(), (float)compassO.getY()); + compassN.lineTo((float)compass1.getX(), (float)compass1.getY()); + compassN.lineTo((float)compass2.getX(), (float)compass2.getY()); + compassN.lineTo((float)compass3.getX(), (float)compass3.getY()); + compassN.close(); + canvas3.drawPath(compassN, paint); + + paint.setColor(Color.RED); + Path compassS = new Path(); + compassS.moveTo((float)compassO.getX(), (float)compassO.getY()); + compassS.lineTo((float)compass4.getX(), (float)compass4.getY()); + compassS.lineTo((float)compass5.getX(), (float)compass5.getY()); + compassS.lineTo((float)compass6.getX(), (float)compass6.getY()); + compassS.close(); + canvas3.drawPath(compassS, paint); + + // 鎸囧崡閽� ------------------------------------------- + if (osdHeading != null) { Path pathText = new Path(); pathText.moveTo(10, 30); -- Gitblit v1.8.0