/** 绘制指定的位图,自动缩放/翻译以填充 *目标矩形。如果源矩形不是NULL,则 *指定要绘制的位图的子集。 * * <BR>注意:如果涂料中含有maskfilter生成一个面具, *超出位图的宽度/高度(如blurmaskfilter), *然后绘制位图,就像它在一个带有夹子模式的着色器中一样。 因此,原来宽度/高度之外的颜色将是边缘。 *颜色复制。 * <此函数<忽略与位图相关联的密度>。 *这是因为源和目标矩形坐标。 *空间是在各自的密度,所以必须已经有 *适用的比例因子。 * @param bitmap The bitmap to be drawn * @param src May be null. 这是位图的子集 * @param dst 位图将被缩放/翻译的矩形。适合 * @param paint May be null. The paint used to draw the bitmap */ public void drawBitmap(@NonNull Bitmap bitmap, @Nullable Rect src, @NonNull Rect dst, @Nullable Paint paint) {
从翻译来说是很难看懂的,
弄了一张宽700 高1026的图片, 若果直接700x1026绘制填写是无法显示全部的
实现下图的效果是非常不容易的.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Rect src=new Rect(); src.top=0; src.right=1026/700*1080*2; src.left=0; src.bottom=1026/700*1920*2;
Rect det=new Rect();//代表是从画布的哪里开始绘制,从哪里结束。这里右边为什么有一点点黄色的边框大家也应该明白了吧, det.top=0; det.right=1070;//见证右边的20px det.left=0; det.bottom=1800;