如何在android中缩放已经存在的位图?

如何在android中缩放已经存在的位图?,android,Android,我有一个已经解码的位图,我想在画布上绘制之前临时缩放它。因此,解码文件并在之前设置大小是不可能的。我想保持现有位图的大小,只需在画布上绘制之前将其缩放为更小。这可能吗 使用矩阵后缩放(sx、sy、px、py)可以正确缩放,但不能正确定位。从我看到的情况来看,canvas.drawBitmap没有矩阵和x&y位置选项 有什么建议吗?以下是代码: public static Bitmap scaleBitmap(Bitmap bitmap, int width, int height) {

我有一个已经解码的位图,我想在画布上绘制之前临时缩放它。因此,解码文件并在之前设置大小是不可能的。我想保持现有位图的大小,只需在画布上绘制之前将其缩放为更小。这可能吗

使用矩阵后缩放(sx、sy、px、py)可以正确缩放,但不能正确定位。从我看到的情况来看,canvas.drawBitmap没有矩阵和x&y位置选项

有什么建议吗?

以下是代码:

public static Bitmap scaleBitmap(Bitmap bitmap, int width, int height) {
    final int bitmapWidth = bitmap.getWidth();
    final int bitmapHeight = bitmap.getHeight();

    final float scale = Math.min((float) width / (float) bitmapWidth,
            (float) height / (float) bitmapHeight);

    final int scaledWidth = (int) (bitmapWidth * scale);
    final int scaledHeight = (int) (bitmapHeight * scale);

    final Bitmap decoded = Bitmap.createScaledBitmap(bitmap, scaledWidth, scaledHeight, true);
    final Canvas canvas = new Canvas(decoded);

    return decoded;
}

请注意:将位图传递给scale,它是新的高度和宽度。

我可以在现有位图上绘制此位图吗??如果是,如何进行?如果没有,可能的解决方案是什么?