www.tjgcgs88.cn-狠狠久久亚洲欧美专区不卡,久久精品国产99久久无毒不卡,噼里啪啦国语版在线观看,zσzσzσ女人极品另类

  • <strike id="qgi8o"><td id="qgi8o"></td></strike>
  • <ul id="qgi8o"><acronym id="qgi8o"></acronym></ul>
  • <li id="qgi8o"></li>
    <ul id="qgi8o"></ul>
    <strike id="qgi8o"><rt id="qgi8o"></rt></strike>
    <ul id="qgi8o"><center id="qgi8o"></center></ul>
  • <kbd id="qgi8o"></kbd>

    VC++ 保存位圖

    看樣子你已經(jīng)獲得了位圖的句柄了,現(xiàn)在我只需要給你一個(gè)通過(guò)句柄來(lái)保存圖像的函數(shù)了。
    filename是保存路徑,nColor不用理會(huì),hbitmap就是你的位圖句柄。
    更多詳解請(qǐng)登錄www.liublog.com.cn
    BOOL CDib::SaveNewImage(HBITMAP hbitmap, LPSTR filename, int nColor)
    {
    BITMAP Bitmap;
    HDC hDC;
    DWORD dwPaletteSize=0,dwBmBitsSize,dwDIBSize, dwWritten;
    BITMAPFILEHEADER bmfHdr;
    BITMAPINFOHEADER bi;
    LPBITMAPINFOHEADER lpbi;
    HANDLE fh, hDib, hPal,hOldPal=NULL;

    if (nColor<= 8)
    dwPaletteSize = (1<<nColor) *sizeof(RGBQUAD);
    GetObject(hbitmap, sizeof(BITMAP), (LPSTR)&Bitmap);
    bi.biSize = sizeof(BITMAPINFOHEADER);
    bi.biWidth = Bitmap.bmWidth;
    bi.biHeight = Bitmap.bmHeight;
    bi.biPlanes = 1;
    bi.biBitCount = nColor;
    bi.biCompression = BI_RGB;
    bi.biSizeImage = 0;
    bi.biXPelsPerMeter = 0;
    bi.biYPelsPerMeter = 0;
    bi.biClrUsed = 0;
    bi.biClrImportant = 0;
    dwBmBitsSize = ((Bitmap.bmWidth * nColor+31)/32*4)*Bitmap.bmHeight;
    //為位圖分配內(nèi)存
    hDib = GlobalAlloc(GHND,dwBmBitsSize+dwPaletteSize+sizeof(BITMAPINFOHEADER));
    lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDib);
    *lpbi = bi;
    //設(shè)置調(diào)色板
    hPal = GetStockObject(DEFAULT_PALETTE);
    if (hPal)
    {
    hDC = ::GetDC(NULL);
    hOldPal = SelectPalette(hDC, (HPALETTE)hPal, FALSE);
    RealizePalette(hDC);
    }
    // 獲取該調(diào)色板下新的像素值
    GetDIBits(hDC, hbitmap, 0, Bitmap.bmHeight,
    (LPSTR)lpbi + sizeof(BITMAPINFOHEADER)+dwPaletteSize,
    (BITMAPINFO *)lpbi, DIB_RGB_COLORS);
    if (hOldPal)
    {
    SelectPalette(hDC, (HPALETTE)hOldPal, TRUE);
    RealizePalette(hDC);
    ::ReleaseDC(NULL,hDC);
    }

    fh = CreateFile(filename, GENERIC_WRITE,
    0,//not be shared
    NULL, //cannot be inherited
    CREATE_ALWAYS,
    FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,
    NULL);

    if (fh == INVALID_HANDLE_VALUE)
    return FALSE;
    //設(shè)置位圖文件頭
    bmfHdr.bfType = 0x4D42; // "BM"
    dwDIBSize = sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+dwPaletteSize+dwBmBitsSize;
    bmfHdr.bfSize = dwDIBSize;
    bmfHdr.bfReserved1 = 0;
    bmfHdr.bfReserved2 = 0;
    bmfHdr.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER)
    + (DWORD)sizeof(BITMAPINFOHEADER)+ dwPaletteSize;

    //write file header
    WriteFile(fh, (LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER), &dwWritten, NULL);

    //write bmp data
    WriteFile(fh, (LPSTR)lpbi, dwDIBSize, &dwWritten, NULL);

    GlobalUnlock(hDib);
    GlobalFree(hDib);
    CloseHandle(fh);
    DeleteObject(hbitmap);
    return TRUE;
    }

    CImage img;
    img.Attach( BMP);
    img.Save(_T("filename.bmp"));
    img.Detach();

    stone_dongdong大哥,VC6.0里好象沒(méi)這個(gè)類

    相關(guān)評(píng)說(shuō):

  • 管壟17758412965: VC++ 向access中存儲(chǔ)圖片? -
    鄂爾多斯市短中: ______ Access的對(duì)象“表”中完全可以存放圖片!其字段屬性就應(yīng)設(shè)置為“OLE對(duì)象”,這樣就可以將 GIF、JPEG 和其他常見類型的圖像文件添加到表中.因?yàn)?OLE 對(duì)象字段只支持“Windows 位圖”(.bmp) 文件和“與設(shè)備無(wú)關(guān)的位圖”(.dib) 文件.如果您想將其他類型的圖形文件存儲(chǔ)到 OLE 對(duì)象字段中并讓 Access 正確呈現(xiàn)它們,就必須安裝其他軟件,而該軟件必須提供顯示其他圖像類型所需的組件(被稱為 OLE 服務(wù)器).我也沒(méi)在數(shù)據(jù)庫(kù)中存過(guò)圖片,上邊是在其他地方看到的,你可以嘗試百度一下上邊的關(guān)鍵詞,看看有沒(méi)有具體的過(guò)程或者例子,能幫你的就這些了.
  • 管壟17758412965: 如何在vc中全屏顯示對(duì)話框上的位圖 -
    鄂爾多斯市短中: ______ 其實(shí)圖片可以用JPG什么的,但是相對(duì)需要用到一個(gè)IPICTURE的接口,亂七八糟的還..... 當(dāng)然最好還是用位圖...... 有個(gè)拉伸圖片的函數(shù),API和CDC好象都有.//得到分辨率 int full_x = GetSystemMetrics(SM_CXSCREEN); int full_y = GetSystemMetrics(SM_CYSCREEN);//::SetWindowPos(this->m_hWnd,HWND_TOPMOST,0,0,full_x,full_y,0 ); 大概這么個(gè)意思
  • 管壟17758412965: 用VC++ 怎樣把圖像輸出保存成jepg或bmp圖像 -
    鄂爾多斯市短中: ______ bmp是可以的,先轉(zhuǎn)成與設(shè)備無(wú)關(guān)的dib位圖再保存,代碼就不貼了,google一大把.如果是jpeg格式的話,一種是可以用開源的jpeg庫(kù).還有一種方法是用gdi+實(shí)現(xiàn),不過(guò)gdi+只在vc.net支持.
  • 管壟17758412965: VC++ 怎么插入JPG圖片 非BMP位圖
    鄂爾多斯市短中: ______ VC中圖片插入和位圖操作 一.在程序中插入JPG圖片 Graphics graphics(hDC); WCHAR strBKG[256]; Image* m_imgBK; CString strBK=theApp.m_strStartPath + "\\topoBK.JPG";//1 BSTR bstrBK = strBK.AllocSysString();//2 wcscpy(strBKG, ...
  • 管壟17758412965: 現(xiàn)已獲得各個(gè)像素點(diǎn)的坐標(biāo)和灰度值,如何用VC++繪制位圖 -
    鄂爾多斯市短中: ______ 嗯 ~~是這樣的,.1:你知道每個(gè)像素的坐標(biāo)和灰度,那就知道圖像的大小,定義一個(gè)固定的二維數(shù)組,把所有像素存入其中.color ColorBuffer[WIDTH][HEIGHT] = {0}; ColorBuffer[i][j].b = ColorBuffer[i][j].g = ColorBuffer[i][j].r = colorzhi1//當(dāng)前像素...
  • 管壟17758412965: C++中怎么把位圖輸出到窗口 -
    鄂爾多斯市短中: ______ #include int PaintBitmap (HWND hwnd ,HBITMAP hBitmap) { RECT rect ; BITMAP bitmap ; HDC hdcSrc = GetDC (hwnd) ; HDC hdcBmp = CreateCompatibleDC (hdcSrc) ; SelectObiect (hdcBmp ,hBitmap) ; GetClientRect (hwnd ,&rect) ; GetObject ...
  • 管壟17758412965: 用VC++如何獲取屏幕圖像,且顯示出來(lái) -
    鄂爾多斯市短中: ______ HBITMAP holdbitmap,hbitmap; HDC hdc,hscreendc,hmemdc; hdc=GetWindowDC(hwnd);//獲得整個(gè)hwnd指向的窗口的DC GetWindowRect(hwnd,&rect);//獲得窗口矩形 hscreendc=CreateDC("DISPLAY",NULL,NULL,NULL);//獲得整個(gè)屏幕...
  • 管壟17758412965: 怎么用vc++6.0創(chuàng)建256色的位圖 -
    鄂爾多斯市短中: ______ VC6是支持將256色的圖片編譯到你的項(xiàng)目中的 但是VC6本身并不支持256色圖片的編輯 所以你最好是將你的圖片用其它工具(如小畫筆)編輯好之后保存到你的項(xiàng)目目錄下,然后將資源導(dǎo)入就可以了
  • 管壟17758412965: 【高分求救】VC++下如何載入一張位圖并獲取該位圖的像素值 -
    鄂爾多斯市短中: ______ HBITMAP hBmp = (HBITMAP)LoadImage( NULL , "z:\\bg4.bmp" , IMAGE_BITMAP , 0 , 0 , LR_CREATEDIBSECTION | LR_LOADFROMFILE); if (hBmp != NULL) { BITMAP bmp = {0}; int ret = GetObject( hBmp , sizeof(BITMAP) , &bmp ); if (ret) ...
  • 管壟17758412965: VC++中如何刪除位圖? -
    鄂爾多斯市短中: ______ 在資源試圖處選中此位圖,單擊鍵盤上的“Delete刪除”按鈕.這樣你的工程里就沒(méi)有了.為了節(jié)約資源,你再到你的工程文件夾里的res子文件夾,把那個(gè)位圖刪除就OK了
  • 久久久久精品国产三级| 久久精品国产二区AV无码| 狠狠色丁香久久婷婷综合| 日欧精品卡2卡3卡4卡| 不卡无码视频| 免费A级毛片无码无遮挡| 国产高清精品91在线| 精品国产不卡一区二区三区| 插槽X8插槽高清视频优势| 无码精品少妇一区二区三区99|