使用下面的代码我可以在我的位图图像上绘制一个矩形。
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 服务提供给我的
最佳答案
我不认为你在这里有问题,你会这样做:
canvas.drawRect(a.getX(), a.getY(), c.getX(), c.getY(), paint);
是的,这些值以像素为单位,但是您的原点 (0,0) 通常位于 Canvas 的左上角。当您在 Canvas 上向下移动时,Y 值变得更正。
关于java - 从像素坐标在图片上绘制矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230693/