Android 调整位图画布的大小

Android 调整位图画布的大小,android,android-emulator,android-widget,android-manifest,Android,Android Emulator,Android Widget,Android Manifest,我试图在图片的顶部画一个长方形,但我在把图片放在上面时遇到了麻烦。只有部分矩形显示在屏幕底部的某个地方。以下是我正在做的: 正弦波是来自res>drawable文件夹的图像 public void onDraw(Canvas canvas) { Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sinewave); canvas.drawBitmap(myBitmap, 0,

我试图在图片的顶部画一个长方形,但我在把图片放在上面时遇到了麻烦。只有部分矩形显示在屏幕底部的某个地方。以下是我正在做的:

正弦波是来自res>drawable文件夹的图像

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

我不能超过35,我想把正方形放在正弦波图像的中间。有人能帮我提一下他们的想法吗

我不确定这是否可行,但是位图上有一个getScaledHeight和width方法,你可以试试。如果这得到了正确的边界,这将在外边界上绘制一个矩形,但是您可以进行调整以在需要的地方获得它

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

如何使用视图绘制图像,然后移动其坐标,然后在其顶部绘制另一个视图。请帮帮我,我是Android图形新手。我知道以下几点。ImageView i=新的ImageView(本);i、 setImageResource(R.drawable.my_image);i、 setAdjustViewBounds(真);//设置ImageView边界以匹配可绘图的尺寸i.setLayoutParams(新的Gallery.LayoutParams(LayoutParams.WRAP_内容,LayoutParams.WRAP_内容));对不起,那件事我不确定。我也不是安卓布局的高手。我最近刚刚处理了一些画布和位图代码,所以我想我会尽力提供帮助。您可以尝试将该评论作为另一个问题发布,以获得更多回复。另外,看看api演示项目的想法。项目中也有一些很棒的绘图/布局代码。