请教各位如何获取BMP图片的宽高,单位是厘米。 请教各位如何获取BMP图片的宽高,单位是厘米。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要获得BMP图像的宽和高,单位是像素的比较简单,如果要用厘米,可能比较麻烦,可能要改变设备环境CDC的映射方式。用函数:CDC* pDC;pDC->SetMapMode( int nMapMode );当nMapMode取MM_LOMETRIC时,表示一个像素为0.1mm。至于转换为厘米,应该是单位之间的换算! DWORD WINAPI DIBWidth(LPSTR lpDIB){ LPBITMAPINFOHEADER lpbmi;LPBITMAPCOREHEADER lpbmc;lpbmi=(LPBITMAPINFOHEADER)lpDIB;lpbmc=(LPBITMAPCOREHEADER)lpDIB;return (DWORD)lpbmc->bcWidth;} typedef struct tagBITMAPINFOHEADER{ // bmih DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER; 宽 = biWidth / biXPelsPerMeter * 100高 = biHeight / biYPelsPerMeter * 100 一个象素好像有固定的大小。先看bmp有多少象素长宽。在计算bmp的cm长宽。 换算厘米单位是需要知道dpi才可以得,不同得dpi之下单位长度也不同得 关于mfc自创的动态创建对象..有大大看过深入浅出mfc的么?求解答 VC6和VC9差什么? vc XML 超级简单的解析问题 关于Outlook Express 使用钩子的问题。在线等! vc6.0中药怎码洋才能使用com库!!! 我终于辞职了,开心&伤心 vc++6.0對文件操作問題!!!高手指教,急!急!急! 关于函数fgets()的问题 流媒体高手请进!(有关realplayer和ftp) 类中的数组如何初始化? 请教 模态与非模态 区别 联系 (求高手b4) UDP可以使用事件通知吗?
如果要用厘米,可能比较麻烦,可能要改变设备环境CDC的映射方式。
用函数:CDC* pDC;
pDC->SetMapMode( int nMapMode );
当nMapMode取MM_LOMETRIC时,表示一个像素为0.1mm。至于转换为厘米,应该是单位之间的换算!
{ LPBITMAPINFOHEADER lpbmi;LPBITMAPCOREHEADER lpbmc;
lpbmi=(LPBITMAPINFOHEADER)lpDIB;
lpbmc=(LPBITMAPCOREHEADER)lpDIB;return (DWORD)lpbmc->bcWidth;
}
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER; 宽 = biWidth / biXPelsPerMeter * 100
高 = biHeight / biYPelsPerMeter * 100
先看bmp有多少象素长宽。
在计算bmp的cm长宽。