0

이미지 상단에 직사각형을 그리려하고 이미지에 아트를 배치하는 데 문제가 있습니다. 사각형의 일부분 만 화면 하단에 나타납니다. 여기에 내가 뭐하는 거지입니다 :비트 맵 캔버스의 크기를 조절하십시오

사인파 내가 35을 넘어 갈 수 아니다 고해상도의 이미지> 당김 폴더

public void onDraw(Canvas canvas) 
{ 
    Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sinewave); 
    canvas.drawBitmap(myBitmap, 0, 0, null); 

    Paint myPaint = new Paint(); 
    myPaint.setColor(Color.GREEN); 
    myPaint.setStyle(Paint.Style.STROKE); 
    myPaint.setStrokeWidth(3); 
    canvas.drawRect(0, 35 ,80 , 20, myPaint); 
} 

, 내가 바로 사인파의 이미지의 중앙에 사각형을 배치 할. 어떤 사람들은 그들의 아이디어를 도울 수 있습니까?

답변

1

잘 될지 모르겠지만 시도 할 수있는 비트 맵에 getScaledHeight 및 width 메서드가 있습니다. 이것이 올바른 경계를 얻는다면 이것은 바깥 경계에 직사각형을 그릴 것입니다. 그러나 여러분이 필요로하는 곳에 그것을 얻을 수 있습니다.

int height = bm.getScaledHeight(canvas); 
int width = bm.getScaledWidth(canvas); 
Rect r = new Rect(0, 0, width, height); 
canvas.drawRect(r, paint); 
+0

뷰를 사용하여 이미지를 그린 다음 좌표를 이동 한 다음 다른 뷰를 그릴 수 있습니다. 도와주세요, 저는 안드로이드 그래픽이 처음입니다. 나는 다음을 안다. ImageView i = new ImageView (this); i.setImageResource (R.drawable.my_image); i.setAdjustViewBounds (true); // Drawable의 크기와 일치하도록 ImageView 경계를 설정합니다. i.setLayoutParams (new Gallery.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); –

+0

죄송합니다. 저도 잘 모르겠습니다. 나는 안드로이드 레이아웃 중 가장 위대한 것도 아니다. 최근 캔버스와 비트 맵 코드를 다루었으므로 도움이 될 것이라고 생각했습니다. 더 많은 응답을 얻으려면 다른 질문으로 해당 의견을 게시 해보십시오. 또한 api 데모의 아이디어 프로젝트를 둘러보십시오. –

+0

[shelves] (http://code.google.com/p/shelves/) 프로젝트에는 멋진 그림/레이아웃 코드가 있습니다. –

관련 문제