2013-09-05 10 views
5

Narysowałem ścieżkę na moim płótnie. Po pojedynczym dotknięciu chcę zmienić rozmiar ścieżki. Powiedzmy, że chcę podwoić pierwotny rozmiar.Zmiana rozmiaru ścieżki w obszarze roboczym z Androidem

Próbowałem już path.transform, ale przesuwa ścieżkę do innej lokalizacji w kanwa. To jest kod, którego użyłem do tego, jak mogę zmienić rozmiar ścieżki w systemie Android?

Odpowiedz

16

Próbowałem rozwiązania dostarczonego przez smitalm. Wciąż ścieżka przesuwała swoją lokalizację. Próbowałem w ten sposób i zadziałało to dla mnie.

Matrix scaleMatrix = new Matrix(); 
RectF rectF = new RectF(); 
path.computeBounds(rectF, true); 
scaleMatrix.setScale(1.25f, 1.25f,rectF.centerX(),rectF.centerY()); 
path.transform(scaleMatrix); 
5

Havent zrobić to sam, ale powinieneś używać

Matrix scaleMatrix = new Matrix(); 
scaleMatrix.setScale(sx,sy, px, py); 
p.transform(scaleMatrix); 

gdzie sx,sy powinny być 2,2 w twoim przypadku, jeśli chcesz dwukrotnie wielkość i px,py prawdopodobnie powinien być 0.5,0.5 w przypadku

+0

Dziękuję za odpowiedź. Wypróbowałem twój kod. To skalowanie, ale jednocześnie przesuwa swoją pozycję. Chcę skalować go na środku. Jak mogę to zrobić? – Zach

+0

@Zach to musisz użyć wersji setScale, która pozwala na czopy, zobacz edytowaną odpowiedź. – hendrix

Powiązane problemy