как получить абсолютный коэффициент масштабирования? - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу получить абсолютный коэффициент масштабирования из этого кода, пожалуйста, помогите?

Я имею в виду 2-кратный или 3-кратный коэффициент масштабирования по отношению к исходному изображению.

import android.view.ScaleGestureDetector;

public class MainActivity extends AppCompatActivity {
    ImageView im1;
    private ScaleGestureDetector mScaleGestureDetector;
    private float mScaleFactor = 1.0f;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        im1=(ImageView)findViewById(R.id.im1);
        mScaleGestureDetector = new ScaleGestureDetector(this, new ScaleListener());
    }
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return mScaleGestureDetector.onTouchEvent(event);
    }

    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
        // when a scale gesture is detected, use it to resize the image
        @Override
        public boolean onScale(ScaleGestureDetector scaleGestureDetector){
            mScaleFactor *= scaleGestureDetector.getScaleFactor();
                im1.setScaleX(mScaleFactor);
                im1.setScaleY(mScaleFactor);
                return true;
        }
    }
}

Проблема в том, что mScaleFactor относительно текущего коэффициента масштабирования изображения. Это не дает правильных результатов.

...