Matrix-Transformationen an Größe des ImageViews anpassen

  • Antworten:1
  • Bentwortet
Dominic Schaffner
  • Forum-Beiträge: 10

30.09.2013, 11:38:38 via Website

Hallo,

im Verlauf meiner ersten Versuche bin ich gerade dabei, eine ImageView mit Pinch to Zoom zu erweitern. Steckt doch mehr dahiner, als ich dachte. Habe im Netz mehrere Ansätze gefunden. Der meiner Meinung nach schönste Ansatz löst das Vergrößern und Verschieben durch Matrix-Transoformationen.
Hierfür muss der Scale-Typ auf Matrix gesetzt werden.
android:scaleType="matrix"

Das Bitmap, mit welchem ich das Ausprobiert habe, ist jedoch größer als der Screen. Dies hat zur Folge, dass am Anfang nicht das komplette Bild angezeigt wird. Hierfür muss man erst wieder rauszoomen. Dies würde ich gerne ändern. Kann mir hierzu jemand einen Tip geben?

Meine Idee war, die Matrix per postScale zu bearbeiten. Doch mit welchem Faktor? Hierfür müsste ich wissen, wie breit das aktuell angezeigte Bitmap ist. Die Breite des ImageView bekomme ich schließlich mit getWidth(). Dann könnte ich als Faktor nehmen:
getWidth()/"Breite Bitmap"
Doch ich wüsste nicht, wie ich auf diese Breite kommen soll...

— geändert am 30.09.2013, 14:11:39

Antworten
Dominic Schaffner
  • Forum-Beiträge: 10

01.10.2013, 10:15:45 via Website

Hat sich erledigt, falls jemand was ähnliches sucht:
#myImageView.getDrawable().getIntrinsicHeigh(); oder eben analog mit getIntrinsicWidth()

Mac Systems

Antworten