从像素坐标在图片上绘制矩形

时间:2012-02-10 15:59:12

标签: java android paint android-canvas

使用以下代码我可以在我的位图图像上绘制一个矩形。

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和下y。所以我的问题是:

  • 是以像素为单位的那些值? ppi还是什么??
  • 如果我只有像素中每个角的坐标,如何在我的图像上绘制一个矩形,如下图所示?假设我有A(x,y)B(x,y),C(x,y)和D(x,y),其中x和y表示为来自下图的轴的像素。 注意:我无法控制A,B,C,D,它们是通过网络服务提供给我的

    rectangle i want to draw

1 个答案:

答案 0 :(得分:2)

我认为你没有问题,你会这样做:

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

是值,以像素为单位,但是您的原点(0,0)通常是画布的左上角。沿着画布向下移动时,Y值变得更加正面。