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

问题描述 投票:1回答:1

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

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,它们是通过Web服务提供给我的
java android paint android-canvas
1个回答
2
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.