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