Android - Canvas drawLine inside ImageView
14,901
Try this:
private void crearPunto(float x, float y, float xend, float yend, int color) {
bmp = Bitmap.createBitmap(mImagenCampo.getWidth(), mImagenCampo.getHeight(), Config.ARGB_8888);
c = new Canvas(bmp);
mImagenCampo.draw(c);
Paint p = new Paint();
p.setColor(color);
c.drawLine(x, y, xend, yend, p);
mImagenCampo.setImageBitmap(bmp);
}
Author by
gutiory
Updated on June 14, 2022Comments
-
gutiory almost 2 years
I've one ImageView in which I want to draw a Line. I've done the follow:
mImagenCampo = (ImageView) findViewById(R.id.imagen_campo);
crearPunto(mArea9M, mPaloIzq,v.getWidth(), mPaloIzq,Color.WHITE);
And the function is:
private void crearPunto(float x, float y, float xend, float yend, int color) { BitmapDrawable bmpDraw = (BitmapDrawable) mImagenCampo.getDrawable(); Bitmap bmp = bmpDraw.getBitmap().copy(Config.RGB_565, true); Canvas c = new Canvas(bmp); Paint p = new Paint(); p.setColor(color); c.drawLine(x, y, xend, yend, p); mImagenCampo.setImageBitmap(bmp); }
My problem is that the line is drawn but It doesn't get the rights coordinates. It is drawn smaller than It should be.
Thanks
Edit: I forgot to say that mImagenCampo is an ImageView