求助!!!!如何获得bitmap的象素的信息 怎样载入一幅bitmap,并获得象素的2个字节的信息,保存到内存的序列中?希望各位xdjm帮帮忙,急啊!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 载入图像我知道用SHLoadDIBitmap(LPCTSTR szFileName)可以,但是返回的是HBITMAP,,而我希望能够返回位图每一pixel的信息,用数组来保存起来,再进行其他的处理.有人能帮忙解决一下吗?多谢了.... 用GetObject()函数。GetObject(HBITMAP,sizeof(bitmap),&bm);if((if( ( bm.bmBitsPixel * bm.bmPlanes ) <= 8 ) { HDC hMemDC; HBITMAP hOldBitmap; RGBQUAD rgb[256]; LPLOGPALETTE pLogPal; WORD i; // Create a memory DC and select the DIBSection into it hMemDC = CreateCompatibleDC( NULL ); hOldBitmap = (HBITMAP)SelectObject( hMemDC, *phBitmap ); // Get the DIBSection's color table GetDIBColorTable( hMemDC, 0, 256, rgb ); // Create a palette from the color tabl pLogPal = (LOGPALETTE *)malloc( sizeof(LOGPALETTE) + (256*sizeof(PALETTEENTRY)) ); pLogPal->palVersion = 0x300; pLogPal->palNumEntries = 256; for(i=0;i<256;i++) { pLogPal->palPalEntry[i].peRed = rgb[i].rgbRed; pLogPal->palPalEntry[i].peGreen = rgb[i].rgbGreen; pLogPal->palPalEntry[i].peBlue = rgb[i].rgbBlue; pLogPal->palPalEntry[i].peFlags = 0; } *phPalette = CreatePalette( pLogPal );} 你把文件直接读进来 CFile如果是灰度图偏移1078就行了,彩色图偏移54就行了 to 5will: 能否详细点说明,把程序写一下,我的程序主要是用c写的... 远程登录Server 2003时用Service启动listview程序时无法正常显示界面 如何对char[]数组中间的数进行操作 经典数据结构算法-皇宫守卫。请教高人指点 问一个简单的C++问题,关于私有成员变量的问题 新手请教,vc基本问题 如何在程序中执行另外一个程序?? 游戏 表达式类型的实现(高分送给你!) CoCreateInstance()失败 求助:将程序中的变量值从RS232串口输出? 两个有关图形处理的问题 急:如何使用剪切板
返回位图每一pixel的信息,用数组来保存起来,再进行其他的处理.有人能帮忙解决一下吗?
多谢了....
GetObject(HBITMAP,sizeof(bitmap),&bm);
if((if( ( bm.bmBitsPixel * bm.bmPlanes ) <= 8 )
{
HDC hMemDC;
HBITMAP hOldBitmap;
RGBQUAD rgb[256];
LPLOGPALETTE pLogPal;
WORD i; // Create a memory DC and select the DIBSection into it
hMemDC = CreateCompatibleDC( NULL );
hOldBitmap = (HBITMAP)SelectObject( hMemDC, *phBitmap );
// Get the DIBSection's color table
GetDIBColorTable( hMemDC, 0, 256, rgb );
// Create a palette from the color tabl
pLogPal = (LOGPALETTE *)malloc( sizeof(LOGPALETTE) + (256*sizeof(PALETTEENTRY)) );
pLogPal->palVersion = 0x300;
pLogPal->palNumEntries = 256;
for(i=0;i<256;i++)
{
pLogPal->palPalEntry[i].peRed = rgb[i].rgbRed;
pLogPal->palPalEntry[i].peGreen = rgb[i].rgbGreen;
pLogPal->palPalEntry[i].peBlue = rgb[i].rgbBlue;
pLogPal->palPalEntry[i].peFlags = 0;
}
*phPalette = CreatePalette( pLogPal );
}
如果是灰度图偏移1078就行了,
彩色图偏移54就行了
能否详细点说明,把程序写一下,我的程序主要是用c写的...