Подтвердить что ты не робот

Ищете объяснение post/pre/set Translate (в объекте Matrix) и как их использовать

Документация довольно неопределенная в отношении того, что на самом деле происходит при использовании этих методов. Может ли кто-нибудь объяснить, как Матрица действительно влияет на битмап, на который он установлен? Они используют термин concatenate там, но я не понимаю, как этот термин применяется к координатным данным (только использовал его в отношении манипуляции строками ранее).

4b9b3361

Ответ 1

Присвоенные методы заменят текущую матрицу новыми значениями, не обращая внимания на все, что содержалось в Матрице. Метод pre и post будет применять новое преобразование до или после того, что содержит текущая матрица.

В этом примере вращение будет проигнорировано, так как мы используем метод set, и m будет содержать только перевод:

Матрица m = новая матрица();

m.setRotate(90);

m.setTranslate(100, 100);

В этом примере конечной матрицей будет перевод, за которым следует поворот:

Матрица m = новая матрица();

m.setTranslate(100, 100);

m.postRotate(90);

В последнем примере конечной матрицей будет поворот, за которым следует перевод:

Матрица m = новая матрица();

m.setTranslate(100, 100);

m.preRotate(90);

В этом (довольно длинном) сообщении есть дополнительная информация:

http://www.satyakomatineni.com/akc/display?url=displaynoteimpurl&ownerUserId=satya&reportId=2898

Надеюсь, что это поможет.