2

我想知道我如何改变位图的位置并同时旋转它。我在画布上画画。

我目前正在使用这行代码:

canvas.drawBitmap(bitmap, posX, posY, paint);

我认为使用矩阵进行旋转是最好的选择?问题是上面发布的代码行不采用矩阵而是采用位置。

还有一行类似的代码:

canvas.drawBitmap(bitmap, matrix, paint);

这个需要一个矩阵,但不是一个位置。

我该怎么做?

4

2 回答 2

1
Matrix matrix = new Matrix();
matrix.SetRotate(90,pivotX,pivotY);
matrix.PostTranslate(positionX,positionY);
canvas.drawBitmap(bitmap, matrix , null);

用文字 - 设置旋转后的位置。

于 2015-11-24T12:49:55.010 回答
0

将位置转换为 posMatrix 矩阵并将其与旋转矩阵相乘。然后将结果矩阵作为参数传递。

编辑 - -

Matrix myTransformedMatrix = new Matrix();
myTransformedMatrix.setRotate(<rotation in dergrees>);
myTransformedMatrix.setTranslate(<translation in points>);

canvas.drawBitmap(bitmap, myTransformedMatrix, paint);

有关矩阵类的更多信息,请访问http://developer.android.com/reference/android/graphics/Matrix.html

于 2012-10-28T16:48:16.157 回答