2011-12-09 7 views
8

하나의 ImageView를 사용하여 선을 그립니다. 내가 추적을 수행했습니다안드로이드 - ImageView 내 캔버스 drawLine

mImagenCampo = (ImageView) findViewById(R.id.imagen_campo); 

crearPunto(mArea9M, mPaloIzq,v.getWidth(), mPaloIzq,Color.WHITE);

그리고 기능은 다음과 같습니다

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); 

} 

내 문제는 라인이 그려집니다하지만 그것은 권리의 좌표를하지 않는다는 것입니다. 그것은보다 작게 그려야합니다.

감사

편집 : 나는 mImagenCampo이 이미지 뷰

답변

16

라고 말할 것을 잊었다이 시도 :

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); 
} 
+1

덕분에 많이. 그것은 완벽하게 작동합니다. – gutiory