Android:画布drawBitmap?

Ell*_*lS1 5 android canvas bitmap

我有一个 200x200px 的位图。我想绘制位图的左上角 50x50px,在我的画布上的坐标 100,100 处,宽度和高度为 50px,使用:

drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

drawBitmap(myBitmap, new Rect(0,0,50,50), new Rect(100,100,150,150) , null);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?


来自 developer.android.com:

参数

  • bitmap 要绘制的位图

  • src 可能为空。要绘制的位图子集

  • dst 位图将被缩放/平移以适应的矩形

  • 油漆可能为空。用于绘制位图的颜料

我的代码中缺少什么?谢谢!

fr4*_*gus 1

你需要改变你的矩形。这是因为,如文档中所述,第一个矩形是您要绘制的位图的子集,第二个矩形是缩放/平移,因此基本上是目标绘制的大小 (50x50)

所以它应该看起来像这样:

drawBitmap(myBitmap, new Rect(100,100,150,150), new Rect(0,0,50,50) , null);
Run Code Online (Sandbox Code Playgroud)