with the following code i can draw a rectangle on my bitmap image.
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();
i've read that the values given in canvas.drawRect(200, 100, 200, 100, paint);
represent respectively left x, top y, right x and bottom y. So my questions are :
- are those values in pixels? ppi or what??
how can i draw a rectangle on my image if i have only the coordinates of each corners in pixels as shown on the picture below ? assuming that i have A (x, y) B (x, y), C(x, y) and D(x, y) with x and y expressed in pixels from the axes of the picture below. NB: i don't have control on A,B,C,D they are given to me from a web service
I don't think you have a problem here, you would just do this:
ReplyDeletecanvas.drawRect(a.getX(), a.getY(), c.getX(), c.getY(), paint);
Yes the values are in pixels however your origin (0,0) is the top left of the canvas normally. Y value becomes more positive as you move down the canvas.