Istnieje nice post autorstwa popularnego programisty Google Romain Guy, który pokazuje, jak efektywnie używać zaokrąglonego narożnika do rysowania (zwanego "StreamDrawable" w his code).Używanie zaokrąglonych narożników do rysowania
Sama próbka działa bardzo dobrze na moim Galaxy S3 w trybie portretowym, ale mam kilka problemów z nim:
jeśli ekran jest mały (na przykład na ekranach QVGA), pokazany obrazy są przycinane.
jeśli mam bitmapę wejściowego, który jest zbyt mały niż jak chcę go pokazać obraz wyjściowy ma jej krawędzie rozmazany. Nawet na Galaxy S3, po uruchomieniu przykładowego kodu i to na krajobraz, to wygląda okropnie:
ja nadal nie jestem pewien o tym (ponieważ używam obejścia skalowania obrazu do przy użyciu przykładowego kodu), ale wydaje się, że nawet to rozwiązanie jest nieco powolne, gdy jest używane w liście. Może istnieje rozwiązanie do renderscript?
Nie ma znaczenia, czy używam setImageDrawable, czy setBackgroundDrawable. To musi być coś w samym losowaniu.
Próbowałem grać ze zmiennymi i bitmapShader, ale nic nie działało. Niestety, TileMode nie ma wartości dla rozciągania obrazu, tylko układanie go w jakiś sposób.
Jako obejście mogę utworzyć nową skalowaną bitmapę, ale jest to tylko obejście. Z pewnością istnieje lepszy sposób, który nie będzie zużywał więcej pamięci niż powinien.
Jak mogę rozwiązać te problemy i użyć tego świetnego kodu?
powinieneś zamieścić komentarz na temat tego artykułu lub wysłać do niego wiadomość, aby uzyskać odpowiedź tutaj. –
Myślę, że zrobił :) – DaRolla
czy rozwiązałeś problem? – tasomaniac