У меня есть следующий набор значений:
0.439353, -0.073688, 0.078788, 0.439353, 139.500000, 72.000000
Let name the values: a, b, c, d, tx, ty
В iOS-версии приложения эти значения отправляются этому объекту см. здесь
В моем приложении для Android я пробую что-то вроде этого:
Matrix mtx = new Matrix();
mtx.setValues(new float[] { a, c, tx, b, d, ty, 0, 0, 1});
Взятый из этого сообщения, в Android объект Matrix принимает значения в этом порядке (a, c, tx, b, d, ty), а не как версия iOS (a, b, c, d, tx, ty).
Моя проблема в том, что вращение и масштабирование выполняются правильно, но у меня возникают проблемы с частью перевода. Он не позиционирует его правильно на экране. У кого-нибудь есть идеи, что я делаю неправильно?
ИЗМЕНИТЬ Я использую матрицу для размещения растрового изображения на холсте, например
protected void onDraw(Canvas canvas) {
// .....
canvas.drawBitmap(bmp, mtx, null);
}