Dla programu, który piszę, potrzebuję prostego edytora obrazów. Zasadniczo użytkownik przechodzi do tego edytora, wybierając po prostu obraz z galerii. Po wybraniu zostanie utworzona czynność edytora obrazu i powinna pozwolić użytkownikowi na wykonanie prostych czynności edycyjnych, takich jak obrót, regulacja jasności, zoom itp.Obsługa dużych bitmap w edytorze obrazu
W tej chwili udało mi się z względną łatwością wdrożyć wyżej wymienioną funkcjonalność. Mój problem polega na dynamicznym dodawaniu danego obrazu do ImageView
. Jak wielu z was może wiedzieć; bufor transakcji Binder ma ograniczony stały rozmiar, obecnie 1 MB, który jest dzielony przez wszystkie transakcje w toku dla tego procesu. W ten sposób mogę załadować skompresowane wersje mapy bitowej do mojego ImageView i stanowi to dla mnie raczej duży problem (mój program jest przeznaczony głównie do użycia na tabletach). Zrobiłem znaczące badania w tej kwestii i odkryłem, że można zasadniczo podzielić bitmapę na kilka mniejszych bitmap i umieścić je w kilku obrazach ImageView, aby stworzyć iluzję jednego ciągłego obrazu przy użyciu BitmapRegionDecoder
(jak zasugerowano w tym thread). Chociaż dzięki temu udało mi się wyświetlić duże obrazy, nie mam pojęcia, jak mam wdrożyć funkcję powiększania przy użyciu wielu instancji ImageView
. Czy istnieje stosunkowo prosty sposób robienia tego?