нарисовать прямоугольник на картинке из координат пикселей - PullRequest
1 голос
/ 10 февраля 2012

с помощью следующего кода я могу нарисовать прямоугольник на своем растровом изображении.

Paint paint = new Paint();
paint.setStyle(Style.STROKE);
paint.setColor(Color.BLUE);
publishProgress(80);
Canvas canvas = new Canvas(mBitmap);
publishProgress(85);
canvas.drawRect(200, 100, 200, 100, paint);
bitmap.recycle();
channel.close();

Я прочитал, что значения, приведенные в canvas.drawRect(200, 100, 200, 100, paint);, представляют соответственно левый x, верхний y, правый x и нижнийу.Итак, мои вопросы:

  • это значения в пикселях?PPI или что ??
  • как я могу нарисовать прямоугольник на моем изображении, если у меня есть только координаты каждого угла в пикселях, как показано на рисунке ниже?предполагая, что у меня есть A (x, y) B (x, y), C (x, y) и D (x, y) с x и y, выраженными в пикселях от осей рисунка ниже.NB: у меня нет контроля над A, B, C, D, которые они мне дают из веб-сервиса

    rectangle i want to draw

1 Ответ

2 голосов
/ 10 февраля 2012

Я не думаю, что у вас есть проблема здесь, вы бы просто сделали это:

canvas.drawRect (a.getX (), a.getY (), c.getX (), c.getY (), paint);

Да, значения указаны в пикселях, однако ваш источник (0,0) обычно находится в верхнем левом углу холста.Значение Y становится более положительным при перемещении вниз по холсту.

...