Android 使用 canvas 绘制缩放位图的一部分
Android draw a part of scaled bitmap using canvas
我正在使用 canvas 并且图像尺寸为 1000x500,phone 宽度为 480,高度为 800
比例样本:
scale = (float) (height / image.getHeight());
image_width = image.getWidth() * scale;
image_height = image.getHeight() * scale;
我如何使用 canvas 绘制此缩放图像,只有图像的中心(屏幕尺寸)可见,而左侧和右侧在屏幕之外?
这样做
Rect rs = new Rect();
Rect rd = new Rect();
rs.left = rs.top = 0;
rs.right = 480;
rs.bottom = 800;
<calculate destination rectangle from device size>
canvas.drawBitmap(myBitmap, rs, rd, null);
您还可以缩放和平移(移动)整个 canvas
canvas.scale(float scaleX, float scaleY);
canvas.translate(float dx, float dy);
我正在使用 canvas 并且图像尺寸为 1000x500,phone 宽度为 480,高度为 800
比例样本:
scale = (float) (height / image.getHeight());
image_width = image.getWidth() * scale;
image_height = image.getHeight() * scale;
我如何使用 canvas 绘制此缩放图像,只有图像的中心(屏幕尺寸)可见,而左侧和右侧在屏幕之外?
这样做
Rect rs = new Rect();
Rect rd = new Rect();
rs.left = rs.top = 0;
rs.right = 480;
rs.bottom = 800;
<calculate destination rectangle from device size>
canvas.drawBitmap(myBitmap, rs, rd, null);
您还可以缩放和平移(移动)整个 canvas
canvas.scale(float scaleX, float scaleY);
canvas.translate(float dx, float dy);