QQ登录

只需一步,快速开始

MFC如何获取位图的大小

[ 复制链接 ]
用GetBitmap()函数确定位图的高度和宽度:

        // The variable bitmap is a CBitmap object
        BITMAP bm;
        bitmap.GetBitmap( &bm );
        bmWidth = bm.bmWidth;
        bmHeight = bm.bmHeight;

如果已有HBITMAP,可以附加它到CBitmap对象:

        // The variable hBmp is a HBITMAP
        BITMAP bm;
        ::GetObject( hBmp, sizeof( bm ), &bm );
        bmWidth = bm.bmWidth;
        bmHeight = bm.bmHeight;

对于BMP文件中的图像,可以采用下面方法:

        CFile file;
        // sBMPFileName is the BMP filename
        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;"


        // 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;


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索