Hallo Ich versuche, mit diesem Code in meinem Imageview auf dem Bild auf einem bestimmten Punkt zu vergrößern:Zoom Bildansicht mit Matrix
private void calculateAndZoom() {
matrix.set(getImageMatrix());
printMatrixValues(getImageMatrix());
float startpointY = (start_y_rel/ template_y_rel) * getHeight() * scale;
float startpointX = (start_x_rel/template_x_rel)* getWidth() * scale;
PrintDevMessage.print("Width: " + getWidth() + " Height: " + getHeight());
matrix.setScale(1,1,0,0);
matrix.postScale(scale, scale, startpointX, startpointY);
this.setScaleType(ImageView.ScaleType.MATRIX);
this.setImageMatrix(matrix);
printMatrixValues(getImageMatrix());
}
start_y_rel und start_x_rel ist, Punkte in Bezug auf die template_y_rel und template_x_rel
Ich verwende matrix.setScale (1,1,0,0), um alle vorherigen Zooms zu entfernen und zur ersten Position zu wechseln.
Dieser Code funktioniert mit Skala 3, aber wenn ich eine andere Skala versuche, zoomt er auf die falsche Position.