2016-07-08 6 views
0

신청서를 작성 중이며 요구 사항은 다음과 같습니다.어떻게 확대 할 수있는 원을 그리며 유능한 이미지 뷰를 볼 수 있습니까?

핀치 확대/축소 및 팬으로 이미지를 표시합니다. 내가 here

에서 TouchImageview.java를 사용하고 그리고 예상대로 작동하고이를 위해

.

이미지에 실선을 그립니다.

이 방법도 효과적입니다.

public class NavigationViewZoom extends TouchImageView { 
    private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); 

    @Override 
    public void setImageBitmap(Bitmap bm) { 
     super.setImageBitmap(bm); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 
     canvas.drawCircle(300, 120, 50, mPaint); 
    } 

    public NavigationViewZoom(Context c) { 
     super(c); 
     init(); 
    } 

    public NavigationViewZoom(Context c, AttributeSet attrs) { 
     super(c, attrs); 
     setDrawingCacheEnabled(true); 
     init(); 
    } 

    private void init() { 

     mPaint.setColor(Color.RED); 
     mPaint.setStyle(Paint.Style.FILL); 

    } 
} 

문제 :

이제 문제는, 때 줌 원 위치가 관리되지 캔버스에 고체 원을 그린 후 인/아웃 이미지입니다.

예 : 이미지를 확대 한 후 위치 x = 100, y = 100에 실선을 그립니다. 원은 동일한 위치에 있어야합니다. 그래서 확대 된 이미지에서 상대적 x, y 위치를 얻는 방법.

+0

일부 코드는 .. 부탁드립니다 .. !! –

+0

'BitmapDrawable'을 확장하고'draw' 메소드를 오버라이드하는 클래스를 생성합니다. – pskink

+0

원을 그릴 수 있지만 이미지를 확대 할 때 원은 움직이지 않아야합니다. –

답변

0

시도해보십시오. library 데모 앱에는 원하는 기능을 수행하는 기능이 표시됩니다.

CircleView 클래스가 유용 할 수 있습니다.