bitmap获取颜色值,替换
时间: 2023-09-06 21:13:55 浏览: 68
要获取 Bitmap 中某个像素的颜色值,可以使用以下代码:
```
int pixel = bitmap.getPixel(x, y);
int red = Color.red(pixel);
int green = Color.green(pixel);
int blue = Color.blue(pixel);
int alpha = Color.alpha(pixel);
```
其中,x 和 y 是像素的坐标。red、green、blue 和 alpha 分别代表红、绿、蓝和透明度通道的颜色值。如果要替换某个像素的颜色值,可以使用以下代码:
```
bitmap.setPixel(x, y, Color.rgb(newRed, newGreen, newBlue));
```
其中,newRed、newGreen 和 newBlue 分别代表新的红、绿和蓝通道的颜色值。注意,这种方式只能替换单个像素的颜色值,如果需要批量替换,需要使用其他方法。
相关问题
Bitmap 获取InputStream
你可以使用 `Bitmap.compress()` 方法将 `Bitmap` 对象压缩成一个输出流,然后使用 `ByteArrayOutputStream` 将输出流转换为字节数组,最后使用 `ByteArrayInputStream` 将字节数组转换为输入流。下面是一个示例代码:
```java
Bitmap bitmap = ...; // 获取 Bitmap 对象
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
```
在这个示例代码中,我们将 `Bitmap` 对象压缩成 PNG 格式的图像,压缩质量为 100,然后将输出流转换为字节数组,并使用字节数组创建一个 `ByteArrayInputStream` 对象作为输入流。你可以根据需要修改压缩格式和压缩质量参数。
android 改变bitmap颜色
要改变 Android 中 Bitmap 的颜色,可以使用 ColorMatrix 来实现。ColorMatrix 是一个 4x5 的矩阵,其中前 4x4 的部分是用于控制颜色转换的矩阵,而最后一列用于颜色平移。
以下是一个示例代码,演示了如何将 Bitmap 的颜色从蓝色变为红色:
```java
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
int width = bitmap.getWidth();
int height = bitmap.getHeight();
// 创建一个色彩矩阵
ColorMatrix colorMatrix = new ColorMatrix(new float[]{
0, 0, 1, 0, 0,
0, 1, 0, 0, 0,
1, 0, 0, 0, 0,
0, 0, 0, 1, 0
});
// 创建一个颜色过滤器
ColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
// 创建一个画笔,并将颜色过滤器设置给画笔
Paint paint = new Paint();
paint.setColorFilter(colorFilter);
// 创建一个新的 Bitmap,将原始 Bitmap 绘制到新的 Bitmap 上,并使用画笔进行颜色过滤
Bitmap newBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(newBitmap);
canvas.drawBitmap(bitmap, 0, 0, paint);
```
在上述代码中,我们首先创建了一个 ColorMatrix,将红色和蓝色的通道进行了交换,然后使用这个 ColorMatrix 创建了一个 ColorFilter。接下来,我们使用这个 ColorFilter 创建了一个画笔,并将这个画笔设置给 Canvas 对象,最后在 Canvas 上绘制了原始 Bitmap,这样就得到了一个新的 Bitmap,它的颜色已经从蓝色变为红色了。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)