我在ImageView内部显示一个位图并使用Canvas。
ImageView:它显示整个图像,无论图像有多大,它都会在Imageview的宽度/高度内压缩位图。
Canvas:canvas绘制位图,但如果位图较大,则会离开屏幕。
如何在画布上显示位图,如Imageview显示。?
答案 0 :(得分:1)
调整位图大小
看看画布中的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)
调整大小
使用此选项可根据需要调整图像大小