Dominic Schaffner
- Forum-Beiträge: 10
30.09.2013, 11:38:38 via Website
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...
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
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.