Java 在imageview中将位图设置为特定大小
尝试调整位图大小并设置为imageview的特定部分。imageview是方形的,我希望位图位于右下角。宽度为图像视图的10%,高度为30%Java 在imageview中将位图设置为特定大小,java,android,bitmap,imageview,Java,Android,Bitmap,Imageview,尝试调整位图大小并设置为imageview的特定部分。imageview是方形的,我希望位图位于右下角。宽度为图像视图的10%,高度为30% int w = imageview.getWidth(); Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.vertical_bar_green); imageview.setImageBitmap(Bitmap.createScaledBitmap(bm, w/10,
int w = imageview.getWidth();
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.vertical_bar_green);
imageview.setImageBitmap(Bitmap.createScaledBitmap(bm, w/10, w*30/100, false));
imageview.setScaleType(ScaleType.FIT_END);
结果是位图是imageview的全高,宽度要大得多
如何设置放置位图的特定点?来自的文档(FIT\u END使用的矩阵) 计算一个将保持原始src纵横比的比例,但是 还将确保src完全适合dst至少一个轴 (X或Y)将精确匹配。END将结果向右和向右对齐 dst的底部边缘 您可能需要为此使用一个自定义矩阵,可能是使用 例如:
Matrix matrix = new Matrix();
RectF from = new RectF(0, 0, bm.getIntrinsicWidth(), bm.getIntrinsicHeight());
RectF to = new RectF(view.getWidth() * 0.9, view.getHeight() * 0.7, view.getWidth(), view.getHeight());
matrix.setRectToRect(from, to, Matrix.ScaleToFit.FILL);
view.setScaleType(ScaleType.MATRIX);
view.setImageMatrix(matrix);
(我不确定您是否想要保持原始比例,如果您想要,请使用setRectToRect()
的FIT\u END
)