C ++ Win32:加速位图操作

时间:2015-08-15 16:36:41

标签: c++ winapi bitmap hdc stretchblt

我正在寻找加速显示程序的位图。这不是很慢,我只是觉得它可能会更快。我在Win32环境中运行它。这是代码:

void load(LPCWSTR file, int i) {
    hBitmap[i] = (HBITMAP)::LoadImage(NULL, file, IMAGE_BITMAP, 0, 0,
        LR_LOADFROMFILE);
    GetObject(hBitmap[i], sizeof(BITMAP), (LPSTR)&hSize[i]);
}
void newBit(int i, int x, int y, HDC hdc) {

    BITMAP Bitmap = hSize[i];
    HBITMAP hBit = hBitmap[i];

    HDC hDCBits = CreateCompatibleDC(hdc);
    SelectObject(hDCBits, hBit);
    StretchBlt(hdc, x, y, Bitmap.bmWidth, Bitmap.bmHeight,
        hDCBits, 0, 0, Bitmap.bmWidth, Bitmap.bmHeight, SRCCOPY);
    DeleteDC(hDCBits);
}

我在开始时运行“加载”功能,我可以花多长时间。我在我需要的程序中运行newBit函数。我特意使用stretchBlt命令,因为我需要调整大小的功能。任何洞察我做错了什么以及我可以改进的内容都将不胜感激。

0 个答案:

没有答案