Я пытаюсь реализовать кнопку «протянуть», чтобы соответствовать изображению на выбранных границах.Не удается перемасштабировать растровое изображение
public void extendS(View v){
ImageView iv = current;
double width = gallery.getWidth();
double hight= gallery.getHeight();
double aspect = (width+0)/(hight+0);
Log.d("aspect", "w: "+width+" h: "+hight+" a: "+aspect);
if (aspect>1){
hight/=aspect;
}else{
width*=aspect;
}
Bitmap b = ((BitmapDrawable) iv.getDrawable()).getBitmap();
// Matrix matrix = new Matrix();
Log.d("aspect", "w: "+width+" h: "+hight+" a: "+aspect);
Bitmap scale = Bitmap.createBitmap(b, 0, 0, (int)width, (int)hight);
iv.setImageBitmap(scale);
Ошибка, который я получаю: 07-16: 12: 26: 36,855: Е/AndroidRuntime (12647): Вызванный: java.lang.IllegalArgumentException: у + высота должна быть < = bitmap.height() эта ошибка кажется немного странно с моей точки зрения
вы решаете, но частично. Он не перемасштабирует большой битмап, который не подходит для завивки и после первого вызова останавливается, чтобы что-либо сделать. – Yarh
Также соотношение сторон не принимается во внимание – Yarh
, вы также можете попробовать это. iv.setScaleType (ScaleType.FIT_XY); –