我正在尝试在将其绘制到画布时旋转位图。问题是,当我调用canvas.rotate(90)之后绘制的任何内容实际上都不会被绘制。当我在那里进行旋转调用时,运行以下代码将不会向屏幕绘制任何内容。如果我取出旋转调用它显示正常。为什么旋转调用会阻止位图显示在画布上?
canvas.save();
canvas.rotate(90);
canvas.drawBitmap(leaves, null, leafRect, bitmapPaint);
canvas.restore();
答案 0 :(得分:2)
默认情况下,rotate()会从正确的中心旋转画布。您可能希望从位图的中心旋转。
canvas.save();
canvas.rotate(90, leafRect.x + (leafRect.width / 2), leafRect.y + (leafRect.height / 2));
canvas.drawBitmap(leaves, null, leafRect, bitmapPaint);
canvas.restore();
中的更多信息