读取色带图片里的rgb值

色带图片

读取色带图片的代码

复制代码
 1     /**
 2      * 读取一张图片的RGB值
 3      * 
 4      * @throws Exception
 5      * @params image: 色带图片的路径
 6      */
 7     public static int[][] getImagePixel(String image) throws Exception {
 8         int[][] rgb = new int[256][3];//这里定义一个二维数组存放RGB的值,256是图片的高,有256种颜色
 9         File file = new File(image);
10         BufferedImage bi = null;
11         try {
12             bi = ImageIO.read(file);
13         } catch (Exception e) {
14             e.printStackTrace();
15         }
16         int width = bi.getWidth();
17         int height = bi.getHeight();
18         int minx = bi.getMinX();
19         int miny = bi.getMinY();
20         for (int i = minx; i < width; i++) {
21             for (int j = miny; j < height; j++) {
22                 int pixel = bi.getRGB(i, j); // 下面三行代码将一个数字转换为RGB数字
23                 rgb[j][0] = (pixel & 0xff0000) >> 16;
24                 rgb[j][1] = (pixel & 0xff00) >> 8;
25                 rgb[j][2] = (pixel & 0xff);
26             }
27         }
28         return rgb;
29     }
复制代码

如果需要将RGB的值转为16进制颜色

String hex = String.format("#%02x%02x%02x", rgb[i][0], rgb[i][1], rgb[i][2]);

posted on   jianglusheng  阅读(516)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示