2017-02-14 2 views
0

Я нарисовал 4 линии от центра к кнопке, пока я показываю вам фотографию. Я не знаю, как рисовать кривые линии, которые красны на картинке.рисовать кривые линии android

[enter image description here]

или

[enter image description here (simpler)]

Bitmap bitmap = Bitmap.createBitmap((int) getWindowManager() 
      .getDefaultDisplay().getWidth(), (int) getWindowManager() 
      .getDefaultDisplay().getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(bitmap); 
    drawingImageView.setImageBitmap(bitmap); 
    DisplayMetrics metrics = this.getResources().getDisplayMetrics(); 
    int x = metrics.widthPixels; 
    int y = metrics.heightPixels; 
    Paint paint1 = new Paint() ; 
    paint1.setStrokeWidth(10); 
    int margin = 100; 
    int margin1 = 300; 
    int top = 0 + margin; 
    int bottom = canvas.getHeight() - margin; 
    int left = 0 + margin1; 
    int right = canvas.getWidth() - margin1; 
    int centerX = x/2; 
    int centerY = y/2; 

    canvas.drawLine(centerX, top, centerX, bottom,paint1); 
    canvas.drawLine(left, centerY, right, centerY,paint1); 

ответ

1

Вам нужно будет разделить его на 4-х различных частей (кривые) для облегчения рисования Вот мой эскиз (жаль быстрый чертеж)

Итак, вам нужно получить 4 балла для безьеров и должно быть что-то вроде этого первого шага, чтобы начать (рисунок точка)

path.moveTo(x1, y1); 

затем использовать следующий для пути вытяжки

cubicTo(x2, y2, x3, y3, x4,y4) 

enter image description here

и, наконец,

canvas.drawPath(path, paint); 

же процедура делают для отдыха 3 квадранта/parts надеюсь, что это поможет вам архивировать ваша цель

+0

Как я могу иметь координаты четырех точек? – CamlX

+0

, что больше математического расчета, у вас есть кнопка (1) положение x, y одинаково для кнопки (3) и пересечения для xy, вы можете получить нужную вам точку для среднего (ширина экрана/2 и высота экрана/2) –

+0

android для точки x2? – CamlX

Смежные вопросы