简介
1. 基础知识
在开始之前,我们需要了解一些基础知识:
- Canvas:一个可以在屏幕上绘制各种图形和图像的绘图表面。
- Matrix:一个用于二维图形变换的矩阵,包括平移、缩放、旋转等操作。
2. 实现步骤
2.1 准备工作
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image);
Canvas canvas = new Canvas(bitmap);
2.2 设置旋转中心
int centerX = bitmap.getWidth() / 2;
int centerY = bitmap.getHeight() / 2;
2.3 旋转图片
canvas.rotate(45, centerX, centerY);
在上面的代码中,45
表示旋转角度,centerX
和centerY
是旋转中心。
2.4 绘制图片
canvas.drawBitmap(bitmap, 0, 0, null);
2.5 完整示例
public void rotateImage(View view) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image);
Canvas canvas = new Canvas(bitmap);
int centerX = bitmap.getWidth() / 2;
int centerY = bitmap.getHeight() / 2;
canvas.rotate(45, centerX, centerY);
canvas.drawBitmap(bitmap, 0, 0, null);
}
3. 注意事项
- 在旋转图片之前,请确保已经设置了旋转中心。
- 旋转角度可以是正数或负数,正数表示顺时针旋转,负数表示逆时针旋转。
- 旋转后的图片可能会超出Canvas的边界,您可以根据需要调整绘制位置。