我想知道我如何改变位图的位置并同时旋转它。我在画布上画画。
我目前正在使用这行代码:
canvas.drawBitmap(bitmap, posX, posY, paint);
我认为使用矩阵进行旋转是最好的选择?问题是上面发布的代码行不采用矩阵而是采用位置。
还有一行类似的代码:
canvas.drawBitmap(bitmap, matrix, paint);
这个需要一个矩阵,但不是一个位置。
我该怎么做?
我想知道我如何改变位图的位置并同时旋转它。我在画布上画画。
我目前正在使用这行代码:
canvas.drawBitmap(bitmap, posX, posY, paint);
我认为使用矩阵进行旋转是最好的选择?问题是上面发布的代码行不采用矩阵而是采用位置。
还有一行类似的代码:
canvas.drawBitmap(bitmap, matrix, paint);
这个需要一个矩阵,但不是一个位置。
我该怎么做?
Matrix matrix = new Matrix();
matrix.SetRotate(90,pivotX,pivotY);
matrix.PostTranslate(positionX,positionY);
canvas.drawBitmap(bitmap, matrix , null);
用文字 - 设置旋转后的位置。
将位置转换为 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