android bitmap截取一半
时间: 2023-07-11 13:39:18 浏览: 63
要截取一张 Bitmap 的一半,可以使用 Bitmap.createBitmap() 方法来创建一个新的 Bitmap,然后使用 Canvas.drawBitmap() 方法将原始 Bitmap 的一半绘制到新的 Bitmap 上。
具体实现步骤如下:
1. 获取原始 Bitmap 的宽度和高度。
```
int width = bitmap.getWidth();
int height = bitmap.getHeight();
```
2. 创建一个新的 Bitmap,宽度为原始 Bitmap 的一半,高度与原始 Bitmap 相同。
```
Bitmap halfBitmap = Bitmap.createBitmap(width / 2, height, Bitmap.Config.ARGB_8888);
```
3. 创建一个 Canvas 对象,将原始 Bitmap 的一半绘制到新的 Bitmap 上。
```
Canvas canvas = new Canvas(halfBitmap);
Rect srcRect = new Rect(0, 0, width / 2, height);
Rect destRect = new Rect(0, 0, width / 2, height);
canvas.drawBitmap(bitmap, srcRect, destRect, null);
```
4. 最后,halfBitmap 就是原始 Bitmap 的一半。
完整代码如下:
```
public Bitmap getHalfBitmap(Bitmap bitmap) {
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Bitmap halfBitmap = Bitmap.createBitmap(width / 2, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(halfBitmap);
Rect srcRect = new Rect(0, 0, width / 2, height);
Rect destRect = new Rect(0, 0, width / 2, height);
canvas.drawBitmap(bitmap, srcRect, destRect, null);
return halfBitmap;
}
```