我在 Inside ImageView 上显示位图并使用 Canvas 。
ImageView :无论图像有多大,它都会显示整个图像,它会在 Imageview 的宽度/高度内压缩位图。
画布:画布绘制位图,但如果位图较大,它会超出屏幕。
如何在像 Imageview 显示这样的画布上对位图进行相同的行为。?
我在 Inside ImageView 上显示位图并使用 Canvas 。
ImageView :无论图像有多大,它都会显示整个图像,它会在 Imageview 的宽度/高度内压缩位图。
画布:画布绘制位图,但如果位图较大,它会超出屏幕。
如何在像 Imageview 显示这样的画布上对位图进行相同的行为。?
要调整位图的大小,请查看drawBitmap
画布中的方法,每个重载方法都允许您指定大小。例如,这里是其中一种方法的签名
public void drawBitmap (int[] colors, int offset, int stride, int x, int y, int width, int height, boolean hasAlpha, Paint paint)
它允许您指定宽度和高度。
或者
使用public void drawBitmap (Bitmap bitmap, Matrix matrix, Paint paint)
和
用于public void setScale (float sx, float sy)
调整大小
使用它根据您的需要重新调整图像大小