2008-11-07 156 views

回答

1

Imagemagick's轉換功能會做到這一點(和許多其他轉換)爲您在命令行上。免費,開源,可在所有主要平臺上使用。這是應該在任何人的工具箱中的一個偉大的軟件。

+0

到底在哪DOS命令實用軟件。似乎無法找到它,只有完整的源代碼。 – Rick 2011-05-12 16:06:53

2

位圖標題類型的文檔位於http://msdn.microsoft.com/en-us/library/dd183386%28VS.85%29.aspx

在代碼中,bmp文件和dib存儲器表示之間的區別在於開始時存在BITMAPFILEHEADER結構(http://msdn.microsoft.com/en-us/library/dd183374(v=vs.85).aspx)。因此,將bmp轉換爲dib的文字答案是跳過BITMAPFILEHEADER,並以DIB頭的內存地址(緊隨位圖文件頭之後)開始,該內存地址總是比bmp存儲器地址的開始處更多14個字節。

BITMAPFILEHEADER *bmp = ...; 
char * bmpBytes = reinterpret_cast<char *>(bmp); 
void * myDib = (void *)bmpBytes + BMP_HEADER_LENGTH; /* (14 bytes) */ 
/* cast and do something with myDib */ 
... 

HTH

相關問題