如何避免矩阵自动缩放?
How to avoid matrix autoscale?
视图宽度:480;
视图高度:720;
位图宽度:2592;
位图高度:1552;
setScaleType(ScaleType.MATRIX);
matrix = new Matrix();
setImageMatrix(matrix);
事实上,位图调整为 1726,这对我来说不合适,因为我需要显示和操作(平移、缩放、旋转)扩展它的原始大小。
更新:
我什至尝试使用这个初始化代码,但它对我没有帮助:
RectF drawableRect = new RectF(0, 0, getWidth(), getHeight());
RectF viewRect = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight());
matrix.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.CENTER);
matrix.setImageMatrix(matrix);
使用矩阵时,您应该setScale()达到所需的比率。 setScale(1,1)
将按原样显示图像,但它可能不适合屏幕。
为了使图像适合视图大小,您可以在 ImageView 上使用其他比例类型(例如 FIT_XY),或将 setRectToRect() 应用于矩阵。
已通过使用 setImageBitmap 而不是 setImageURI 解决
视图宽度:480; 视图高度:720;
位图宽度:2592; 位图高度:1552;
setScaleType(ScaleType.MATRIX);
matrix = new Matrix();
setImageMatrix(matrix);
事实上,位图调整为 1726,这对我来说不合适,因为我需要显示和操作(平移、缩放、旋转)扩展它的原始大小。
更新:
我什至尝试使用这个初始化代码,但它对我没有帮助:
RectF drawableRect = new RectF(0, 0, getWidth(), getHeight());
RectF viewRect = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight());
matrix.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.CENTER);
matrix.setImageMatrix(matrix);
使用矩阵时,您应该setScale()达到所需的比率。 setScale(1,1)
将按原样显示图像,但它可能不适合屏幕。
为了使图像适合视图大小,您可以在 ImageView 上使用其他比例类型(例如 FIT_XY),或将 setRectToRect() 应用于矩阵。
已通过使用 setImageBitmap 而不是 setImageURI 解决