2011-07-11 32 views
7

Mam obraz wewnątrz obrazu w systemie Android.Zmiana rozmiaru IMAGEVIEW na skali obrazu Android

ja skalowania obrazu za pomocą scaletype (Matrix) za pomocą kodu podobnego do tego:

     mtrx.postScale(scale, scale); 
       imageView.setImageMatrix(mtrx); 
      imageView.setScaleType(ScaleType.MATRIX); 
      imageView.invalidate(); 

Teraz, to jest odpowiednio zmienić rozmiar obrazu zawartego w ImageView, który jest miły, ale to, co jest mi potrzebne do zmień położenie obrazu na położenie 0,0 w obrębie widoku obrazu, a następnie zmień rozmiar samego obrazu do rozmiaru skalowanego obrazu.

Do tej pory każdy pomysł, który wymyśliłem, aby spróbować ponownie użyć tego samego obrazu, wydaje się nie działać, lub robię coś złego.

Czy to jedyny sposób, aby to zrobić, aby zniszczyć widok obrazu, zmienić rozmiar mapy bitowej, utworzyć nowy widok obrazu zawierający nową mapę bitową utworzoną w skali i dodać widok z powrotem do układu?

Naprawdę bardzo bym tego nie robił. Walczę z limitem sterty 16 Meg, jak to jest z rzeczami. W jaki sposób mogę powiedzieć macierzy, aby przesunąć obraz do pozycji 0,0 w imageView (początkowy obraz jest tworzony za pomocą scaletype center, po tym jak skalował obraz mniejszy?) A jak mogę wtedy powiedzieć imageview, hej, jesteś teraz tylko ?. tak duże, jak skalowany obrazu

Dzięki z góry

Odpowiedz

8

Ustawianie widoku obrazu na „Dostosuj Zobacz Bounds” wydaje się rade

Oto co docs mają do powiedzenia.

Ustaw tę wartość na true, jeśli chcesz, aby ImageView dostosował swoje granice do zachowaj proporcje jego wyciągania.

Możesz to zrobić, używając albo android:adjustViewBounds="true" lub kodu z imageView.setAdjustViewBounds(true).

+1

Ale to nie działa, używając scaleType fitStart. Przynajmniej w tym przypadku: po zmniejszeniu w dół jest pusta pionowa przestrzeń u dołu. Ta przestrzeń nie jest regulowana po ustawieniu adjustViewBounds = "true" – Ixx

1

Ustaw "Dostosuj widok", a następnie ustaw typ skali na "dopasowanie X", w końcu ustaw adiut szerokość_przycinania i wysokość. Zobaczysz, że obraz zmienia się.

Powiązane problemy