Поворот, масштабирование и преобразование растрового изображения на холсте - PullRequest
2 голосов
/ 14 февраля 2012

Я пытаюсь повернуть, масштабировать и перевести изображение для рисования на холсте. Однако заказ оказывается проблематичным, и у меня возникают проблемы с тем, чтобы все выстроилось правильно.

Matrix matrix = new Matrix();
//matrix.postRotate(90f);
matrix.postScale(scaleFactor, scaleFactor);
matrix.postTranslate(screenCoords.x - scaleWidth/2, screenCoords.y
    - scaleHeight/2);

c.drawBitmap(blackJackBM, matrix, this.mPaint);

Масштабирование и перевод в этом случае работают правильно, однако без комментирования кода поворота изображение будет смещено, в этом случае, слева от того места, где оно должно быть нарисовано. Есть идеи?

1 Ответ

3 голосов
/ 14 февраля 2012

postRotate (float) вращает матрицу из ее верхней левой точки. Вместо этого используйте postRotate (float, centerX, centerY).

...