Canvas.drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint);
Run Code Online (Sandbox Code Playgroud)
它允许我们通过第二个参数指定要绘制的Bitmap 的一部分.Rect类保存矩形的左上角和右下角坐标.当我们通过src指定Bitmap的一部分时,我们在Bitmap的坐标系中进行.如果我们指定null,将使用完整的Bitmap.第三个参数定义了Bitmap的部分应该绘制到的位置,再次以Rect实例的形式.这次角落坐标是在Canvas目标的坐标系中给出的(View或其他Bitmap).令人惊讶的是,这两个矩形的大小不一定相同.如果我们指定目标矩形的大小小于源矩形,那么Canvas将自动为我们缩放.指定较大的目标矩形也是如此.
Rect dst = new Rect();
dst.set(50, 50, 350, 350);
canvas.drawBitmap(bmp, null, dst, null);
Run Code Online (Sandbox Code Playgroud)
这里bmp是一个原始大小为160*183像素的位图.使用Rect将其缩放到250*250像素.
| 归档时间: |
|
| 查看次数: |
8980 次 |
| 最近记录: |