程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 得到位圖的尺寸

得到位圖的尺寸

編輯:關於C語言

 

 

對於一個CBitmap 對象,我們能用GetBitmap() 函數來確定其寬度和高度。

 

    // The variable bitmap is a CBitmap object bitmap變量是一個CBitmap對象

    BITMAP bm;

    bitmap.GetBitmap( &bm );

    bmWidth = bm.bmWidth;

    bmHeight = bm.bmHeight;

 

如果你有一個HBITMAP位圖句柄,你可以將它附屬於一個CBitmap對象,然後用上面講到的方法或下面的方法來確定其寬度和高度。

 

    // The variable hBmp is a HBITMAP   hBmp變量是一個HBITMAP位圖句柄

    BITMAP bm;

    ::GetObject( hBmp, sizeof( bm ), &bm );

    bmWidth = bm.bmWidth;

    bmHeight = bm.bmHeight;

 

對於一個文件,你能用下面的代碼來實現:

 

    CFile file;

    // sBMPFileName is the BMP filename    sBMPFileName是一個位圖文件名

    if( !file.Open( sBMPFileName, CFile::modeRead) )

        return ;

 

    BITMAPFILEHEADER bmfHeader;

 

    // Read file header   讀文件頭信息

    if (file.Read((LPSTR)&bmfHeader, sizeof(bmfHeader)) != sizeof(bmfHeader))

        return ;

 

    // File type should be BM   確定文件類型

    if (bmfHeader.bfType != ((WORD) (M << 8) | B))

        return ;

 

    BITMAPINFOHEADER bmiHeader;

    if (file.Read((LPSTR)&bmiHeader, sizeof(bmiHeader)) != sizeof(bmiHeader))

        return ;

 

 

    int bmWidth = bmiHeader.biWidth;

    int bmHeight = bmiHeader.biHeight;

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved