int rgbR;
int rgbG;
int rgbB;
int minx = 0;
int miny = 0;
try {
File file = new File("E:\\ddpng");
BufferedImage image = ImageIOread(file);
int width = imagegetWidth();//宽度
int height = imagegetHeight();//高度
for (int i = minx; i < width; i++) {
for (int j = miny; j < height; j++) {
int pixel = imagegetRGB(i, j); // 下面三行代码将一个数字转换为RGB数字
rgbR = (pixel & 0xff0000) >> 16;
rgbG = (pixel & 0xff00) >> 8;
rgbB = (pixel & 0xff);
Systemoutprintln("i=" + i + ",j=" + j + ":(" + rgbR + "," + rgbG + "," + rgbB + ")");
}
}
Systemoutprintln("宽度为:"+width+",高度为:"+height);
} catch (IOException e) {
Systemoutprintln("读取文件出错");
eprintStackTrace();
}
COLORREF clr = ::GetPixel(hDC, pointx, pointy); //获取当前鼠标点像素值
m_red = GetRValue(clr);
m_bluee = GetBValue(clr);
m_green = GetBValue(clr);
返回值是RGB颜色,首先,你必须知道什么是RGB。 RGB色彩模式是行业标准,是一种颜色,以获得各种不同的颜色,红色(R),绿色(G),蓝(B)三种颜色中的信道变化,以及它们的相互叠加,RGB代表红色,绿色和蓝色的颜色的三个通道,此标准还包括几乎所有的人眼能够感知的颜色的最广泛使用的表色系统,是一个。
和然后它来自该方法,该方法可以被读出的指定区域的图像的ARGB像素值,和专卖店rgbData阵列,一个数据rgbData是基于0xAARRGGBB的格式存储,来表示每个像素的色彩性能和透明度的属性。所以,你应该了解它。
对于HBITMAP位图是有办法的。
假设要处理的位图是HBITMAP hBitmap;
代码如下:
CBitmap m;
mFromHandle(hBitmap);
BITMAP bt;
GetObject(sizeof(bt),&bt);
unsigned char px=new unsigned char [btbmHeightbtbmbmWidthBytes];
mGetBitmapBits(btbmHeightbtbmbmWidthBytes,px);//读取位图数据
int PixelBytes=btbmBitsPixel/8;//每一个像素占字节数
int rgb_b;
for(y=0;y<btbmHeight;y++)
for(x=0;i<btbmWidth;x++)
{
rgg_b=ybtbmWidthBytes+xPixelBytes;
px[rgb_b+0]
px[rgb_b+1]
px[rgb_b+2]//以上三个值就分别是BGR三个色彩的值。
}
android可以通过BitmapgetPixel(x, y)方法获取指定位置的rgb文件的颜色值。分三个步骤:
1、获取点击处的view的bitmap:可以通过ImageViewgetBackground()/getDrawable()/getDrawingCache()等方式获取。
2、将点击坐标转换为bitmap内部坐标。
3、getPixel(x, y)即可。
以上就是关于给定一幅图像,用java读取每个像素的RGB三个颜色值全部的内容,包括:给定一幅图像,用java读取每个像素的RGB三个颜色值、如何用c++编程实现提取给定图像中任意一点的RGB颜色值、java获取图片RGB的方法有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)