2013-09-05 19 views
5

Ho tracciato un tracciato nella mia tela. On Single tap Voglio ridimensionare il percorso. Diciamo che voglio farlo raddoppiare la dimensione originale.Ridimensionare un percorso nella tela Android

Ho provato path.transform ma sposta il percorso in una posizione diversa nella tela. Questo è il codice che ho usato per quello

Matrix translateMatrix = new Matrix(); 
translateMatrix.setTranslate(100,0); 
p.transform(translateMatrix); 

Come posso ridimensionare un percorso in Android?

risposta

16

Ho provato la soluzione fornita da smitalm. Il percorso stava ancora spostando la sua posizione. Ho provato in questo modo e ha funzionato per me.

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 fatto questo per me stesso, ma probabilmente si dovrebbe utilizzare

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

dove sx,sy dovrebbe essere 2,2 nel tuo caso, se si vuole matrimoniale e px,py dovrebbero probabilmente essere 0.5,0.5 nel vostro caso

+0

Grazie per la risposta. Ho provato il tuo codice. Sta scalando ma allo stesso tempo sposta la sua posizione. Voglio ridimensionarlo al centro. Come lo posso fare? – Zach

+0

@Zach quindi è necessario utilizzare la versione setScale che consente i pivot, vedere la risposta modificata. – hendrix

Problemi correlati