Frage zur Anzeige von Bildern (Skalierung)

  • Antworten:4
Bernhard Böhm
  • Forum-Beiträge: 67

21.12.2010, 08:18:25 via Website

Hallo Gemeinde,

ich habe da eine Frage zur Bildanzeige.
Wenn ich mir ein Bild von meinem Android anzeigen lasse (mit "ImageView"), dann wird das Bild einmal in Originalgröße angezeigt. Ich würde allerdings gerne den vorhandenen Platz am jeweiligen Device ausnutzen und das Bild quasi "skalieren", damit es den ganzen (oder zumindest fast den ganzen) verfügbaren Platz ausnützt.

Nun also meine Frage: gibt es eine Methode mit der ich ein JPG, PNG,... skalieren kann, so dass sich dieses auf den möglichen gesamten Screenbereich ausdehnt, oder muss ich das alles händisch machen und mein Bild auf verschiedene Größen manuell "strecken"?

Ich hoffe ich habe mich klar ausgedrückt und würde mich über Antworten freuen!
Bernhard

Antworten
Tobias Eckert
  • Forum-Beiträge: 155

21.12.2010, 20:40:51 via Website

Das geht mit ImageView.setScaleType(). Die verschiedenen Werte dafür findest Du hier.

Antworten
Bernhard Böhm
  • Forum-Beiträge: 67

26.12.2010, 21:15:59 via Website

Tobias Eckert
Das geht mit ImageView.setScaleType(). Die verschiedenen Werte dafür findest Du hier.

Hm, Danke für den Tipp - alleine, mein Bild verändert sich gar nicht, egal welche Werte vom ScaleType ich setze, wenn ich die Methode setScaleType() aufrufe. Gibt es da noch einen Trick, den ich anwenden muss, z.B. ein "redraw"?! Ich hätte auch versucht im entsprechenden XML-File die Skalierung zu machen, hat allerdings auch nix geholfen ;(.

Antworten
mcfly
  • Forum-Beiträge: 286

27.12.2010, 10:24:05 via Website

Hallo

Du kannst ein Bitmap folgendermassen skalieren:

Bitmap newBitmap=Bitmap.createScaledBitmap(oldBitmap, iBitmapsizeX, iBitmapsizeY, true);

Das sollte gehen. Leider wirds etwas langsam, wenn man mehrere Bilder skaliert. Ich suche zu diesem Thema eine schnellere Metthode ....

Gruess

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

27.12.2010, 14:09:24 via Website

Du solltest das Skalieren einfach in einen Thread auslagern.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten