这篇教程C++ BitBlt函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中BitBlt函数的典型用法代码示例。如果您正苦于以下问题:C++ BitBlt函数的具体用法?C++ BitBlt怎么用?C++ BitBlt使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了BitBlt函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: DrawMinestatic void DrawMine( HDC hdc, HDC hMemDC, BOARD *p_board, unsigned col, unsigned row, BOOL IsPressed ){ MINEBMP_OFFSET offset = BOX_BMP; if( col == 0 || col > p_board->cols || row == 0 || row > p_board->rows ) return; if( p_board->status == GAMEOVER ) { if( p_board->box[col][row].IsMine ) { switch( p_board->box[col][row].FlagType ) { case FLAG: offset = FLAG_BMP; break; case COMPLETE: offset = EXPLODE_BMP; break; case QUESTION: /* fall through */ case NORMAL: offset = MINE_BMP; } } else { switch( p_board->box[col][row].FlagType ) { case QUESTION: offset = QUESTION_BMP; break; case FLAG: offset = WRONG_BMP; break; case NORMAL: offset = BOX_BMP; break; case COMPLETE: /* Do nothing */ break; default: WINE_TRACE("Unknown FlagType during game over in DrawMine/n"); break; } } } else { /* WAITING or PLAYING */ switch( p_board->box[col][row].FlagType ) { case QUESTION: if( !IsPressed ) offset = QUESTION_BMP; else offset = QPRESS_BMP; break; case FLAG: offset = FLAG_BMP; break; case NORMAL: if( !IsPressed ) offset = BOX_BMP; else offset = MPRESS_BMP; break; case COMPLETE: /* Do nothing */ break; default: WINE_TRACE("Unknown FlagType while playing in DrawMine/n"); break; } } if( p_board->box[col][row].FlagType == COMPLETE && !p_board->box[col][row].IsMine ) offset = (MINEBMP_OFFSET) p_board->box[col][row].NumMines; BitBlt( hdc, (col - 1) * MINE_WIDTH + p_board->mines_rect.left, (row - 1) * MINE_HEIGHT + p_board->mines_rect.top, MINE_WIDTH, MINE_HEIGHT, hMemDC, 0, offset * MINE_HEIGHT, SRCCOPY );}
开发者ID:AndreRH,项目名称:wine,代码行数:76,
示例2: switchvoid *wxGetClipboardData(wxDataFormat dataFormat, long *len){ void *retval = NULL; switch ( dataFormat ) {#ifndef __WXWINCE__ case wxDF_BITMAP: { BITMAP bm; HBITMAP hBitmap = (HBITMAP) GetClipboardData(CF_BITMAP); if (!hBitmap) break; HDC hdcMem = CreateCompatibleDC((HDC) NULL); HDC hdcSrc = CreateCompatibleDC((HDC) NULL); HBITMAP old = (HBITMAP) ::SelectObject(hdcSrc, hBitmap); GetObject(hBitmap, sizeof(BITMAP), (LPSTR)&bm); HBITMAP hNewBitmap = CreateBitmapIndirect(&bm); if (!hNewBitmap) { SelectObject(hdcSrc, old); DeleteDC(hdcMem); DeleteDC(hdcSrc); break; } HBITMAP old1 = (HBITMAP) SelectObject(hdcMem, hNewBitmap); BitBlt(hdcMem, 0, 0, bm.bmWidth, bm.bmHeight, hdcSrc, 0, 0, SRCCOPY); // Select new bitmap out of memory DC SelectObject(hdcMem, old1); // Clean up SelectObject(hdcSrc, old); DeleteDC(hdcSrc); DeleteDC(hdcMem); // Create and return a new wxBitmap wxBitmap *wxBM = new wxBitmap; wxBM->SetHBITMAP((WXHBITMAP) hNewBitmap); wxBM->SetWidth(bm.bmWidth); wxBM->SetHeight(bm.bmHeight); wxBM->SetDepth(bm.bmPlanes); retval = wxBM; break; }#endif case wxDF_METAFILE: case CF_SYLK: case CF_DIF: case CF_TIFF: case CF_PALETTE: case wxDF_DIB: wxLogError(_("Unsupported clipboard format.")); return NULL; case wxDF_OEMTEXT: dataFormat = wxDF_TEXT; // fall through case wxDF_TEXT: { HANDLE hGlobalMemory = ::GetClipboardData(dataFormat); if (!hGlobalMemory) break; DWORD hsize = ::GlobalSize(hGlobalMemory); if (len) *len = hsize; char *s = new char[hsize]; if (!s) break; LPSTR lpGlobalMemory = (LPSTR) GlobalLock(hGlobalMemory); memcpy(s, lpGlobalMemory, hsize); GlobalUnlock(hGlobalMemory); retval = s; break; } default: { HANDLE hGlobalMemory = ::GetClipboardData(dataFormat); if ( !hGlobalMemory ) break; DWORD size = ::GlobalSize(hGlobalMemory); if ( len ) *len = size; void *buf = malloc(size);//.........这里部分代码省略.........
开发者ID:madnessw,项目名称:thesnow,代码行数:101,
示例3: CSizeDWORD CmdDrawZoom::CmdDrawAjustZooming::SetPoint(DWORD MouseAction, CPoint pt){ CmdDrawZoom *p = dynamic_cast<CmdDrawZoom*>(m_pOwner); if (enCmdMouseNone == MouseAction) { LP_MATERIALINFO pTempInfo = p->m_pReceiver->getComicStripData()->getSelectedInfo(); if (NULL == pTempInfo) { return FALSE; } CSize size = CSize(pt.x - pTempInfo->GetLTPoint().x, pt.y - pTempInfo->GetLTPoint().y); size.cx = max(size.cx, 24); size.cy = max(size.cy, 24); pTempInfo->SetFinalSize(size); if (pTempInfo->isPenDraw) { int width = pTempInfo->m_image.GetWidth(); int height = pTempInfo->m_image.GetHeight(); if (width<size.cx || height<size.cy) { int newWidth = max(width, size.cx); int newHeight = max(height, size.cy); CxImage tempImage = pTempInfo->m_image; pTempInfo->m_image.Create(newWidth, newHeight, 24, CXIMAGE_FORMAT_PNG); RGBQUAD rgb = pTempInfo->m_image.GetPixelColor(1,1); pTempInfo->m_image.SetTransIndex(0); pTempInfo->m_image.SetTransColor(rgb); HDC memdcOrg = CreateCompatibleDC(NULL); HBITMAP hbitmapOrg = tempImage.MakeBitmap(); HGDIOBJ pOldGDIOBJOrg = SelectObject(memdcOrg, hbitmapOrg); HDC memdc = CreateCompatibleDC(NULL); HBITMAP hbitmap = pTempInfo->m_image.MakeBitmap(); HGDIOBJ pOldGDIOBJ = SelectObject(memdc, hbitmap); BitBlt(memdc, 0, 0, width, height, memdcOrg, 0, 0, SRCCOPY); pTempInfo->m_image.CreateFromHBITMAP(hbitmap); SelectObject(memdc, pOldGDIOBJ); DeleteObject(hbitmap); DeleteDC(memdc); SelectObject(memdcOrg, pOldGDIOBJOrg); DeleteObject(hbitmapOrg); DeleteDC(memdcOrg); } } p->m_pReceiver->UpdateComicStrip(pTempInfo->nIDOwner); } else if (enCmdMouseLUp == MouseAction) { LP_MATERIALINFO pTempInfo = p->m_pReceiver->getComicStripData()->getSelectedInfo(); if (NULL == pTempInfo) { return FALSE; } CSize size = CSize(pt.x - pTempInfo->GetLTPoint().x, pt.y - pTempInfo->GetLTPoint().y); size.cx = max(size.cx, 24); size.cy = max(size.cy, 24); pTempInfo->SetFinalSize(size); if (pTempInfo->isPenDraw) { int width = pTempInfo->m_image.GetWidth(); int height = pTempInfo->m_image.GetHeight(); if (width<size.cx || height<size.cy) { CxImage tempImage = pTempInfo->m_image; pTempInfo->m_image.Create(size.cx, size.cy, 24, CXIMAGE_FORMAT_PNG); RGBQUAD rgb = pTempInfo->m_image.GetPixelColor(1,1); pTempInfo->m_image.SetTransIndex(0); pTempInfo->m_image.SetTransColor(rgb); HDC memdcOrg = CreateCompatibleDC(NULL); HBITMAP hbitmapOrg = tempImage.MakeBitmap(); HGDIOBJ pOldGDIOBJOrg = SelectObject(memdcOrg, hbitmapOrg); HDC memdc = CreateCompatibleDC(NULL); HBITMAP hbitmap = pTempInfo->m_image.MakeBitmap(); HGDIOBJ pOldGDIOBJ = SelectObject(memdc, hbitmap); BitBlt(memdc, 0, 0, width, height, memdcOrg, 0, 0, SRCCOPY); pTempInfo->m_image.CreateFromHBITMAP(hbitmap); SelectObject(memdc, pOldGDIOBJ); DeleteObject(hbitmap); DeleteDC(memdc); SelectObject(memdcOrg, pOldGDIOBJOrg); DeleteObject(hbitmapOrg); DeleteDC(memdcOrg); } } p->m_pReceiver->SaveFile(); p->m_pReceiver->UpdateComicStrip(pTempInfo->nIDOwner); p->m_pDsState = &p->m_dsZoomBgn; p->m_pReceiver->SetCursor(); p->m_nDrawState = enDrawIdle; } return TRUE;}
开发者ID:njustccy,项目名称:NjustTool,代码行数:99,
示例4: absBOOL CDIB::SetBitmap(HBITMAP hBitmap, HPALETTE hPal /*= NULL*/){// DeleteObject(); if (!hBitmap) return FALSE; // Get dimensions of bitmap BITMAP bm; if (!::GetObject(hBitmap, sizeof(bm),(LPVOID)&bm)) return FALSE; bm.bmHeight = abs(bm.bmHeight); HDC hDC = GetWindowDC(NULL); HPALETTE hOldPal = NULL; m_iColorTableSize = NumColorEntries(bm.bmBitsPixel, BI_RGB); // Initialize the BITMAPINFOHEADER in m_DIBinfo BITMAPINFOHEADER& bih = m_DIBinfo.bmiHeader; bih.biSize = sizeof(BITMAPINFOHEADER); bih.biWidth = bm.bmWidth; bih.biHeight = bm.bmHeight; bih.biPlanes = 1; // Must always be 1 according to docs bih.biBitCount = bm.bmBitsPixel; bih.biCompression = BI_RGB; bih.biSizeImage = BytesPerLine(bm.bmWidth, bm.bmBitsPixel) * bm.bmHeight; bih.biXPelsPerMeter = 0; bih.biYPelsPerMeter = 0; bih.biClrUsed = 0; bih.biClrImportant = 0; GetColorTableEntries(hDC, hBitmap); // If we have a palette supplied, then set the palette (and hance DIB color // table) using this palette if (hPal) SetPalette(hPal); if (hPal) { hOldPal = SelectPalette(hDC, m_hPal, FALSE); RealizePalette(hDC); } // Create it! m_hBitmap = CreateDIBSection(hDC, (const BITMAPINFO*) m_DIBinfo, m_iColorDataType, &m_ppvBits, NULL, 0); if (hOldPal) SelectPalette(hDC, hOldPal, FALSE); hOldPal = NULL; if (! m_hBitmap) { TRACE0("Unable to CreateDIBSection/n"); return FALSE; } // If palette was supplied then create a palette using the entries in the DIB // color table. if (! hPal) CreatePalette(); // Need to copy the supplied bitmap onto the newly created DIBsection HDC hMemDC = CreateCompatibleDC(hDC); HDC hCopyDC = CreateCompatibleDC(hDC); if (! hMemDC || ! hCopyDC) { TRACE0("Unable to create compatible DC's/n"); //AfxThrowResourceException(); } if (m_hPal) { SelectPalette(hMemDC, m_hPal, FALSE); RealizePalette(hMemDC); SelectPalette(hCopyDC, m_hPal, FALSE); RealizePalette(hCopyDC); } HBITMAP hOldMemBitmap = (HBITMAP) SelectObject(hMemDC, hBitmap); HBITMAP hOldCopyBitmap = (HBITMAP) SelectObject(hCopyDC, m_hBitmap); BitBlt(hCopyDC, 0, 0, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY); SelectObject(hMemDC, hOldMemBitmap); SelectObject(hCopyDC, hOldCopyBitmap); if (m_hPal) { HGDIOBJ hObj = ::GetStockObject(DEFAULT_PALETTE); SelectObject(hMemDC, hObj); SelectObject(hCopyDC, hObj); } ReleaseDC(NULL, hDC); return TRUE;}
开发者ID:Inubashiri,项目名称:PDFLibNet,代码行数:96,
示例5: CreateCompatibleDC// TODO code: optimise airspace drawing (same as DrawAirSpace())// draw airspace using alpha blending//static void MapWindow::DrawTptAirSpace(HDC hdc, const RECT rc) { // since standard GDI functions (brushes, pens...) ignore alpha octet in ARGB // color value and don't set it in the resulting bitmap, we cannot use // perpixel alpha blending, instead we use global opacity for alpha blend // (same opacity for all pixels); for fully "transparent" areas (without // airspace) we must copy destination bitmap into source bitmap first so that // alpha blending of such areas results in the same pixels as origin pixels // in destination CAirspaceList::const_iterator it; CAirspaceList::const_reverse_iterator itr; const CAirspaceList& airspaces_to_draw = CAirspaceManager::Instance().GetNearAirspacesRef(); int airspace_type; bool found = false; bool borders_only = (GetAirSpaceFillType() == asp_fill_ablend_borders); HDC hdcbuffer = NULL; HBITMAP hbbufferold = NULL, hbbuffer = NULL; if (borders_only) { // Prepare layers hdcbuffer = CreateCompatibleDC(hdc); hbbuffer = CreateCompatibleBitmap(hdc, rc.right - rc.left, rc.bottom - rc.top); hbbufferold = (HBITMAP)SelectObject(hdcbuffer, hbbuffer); BitBlt(hdcbuffer, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, NULL, rc.left, rc.top, BLACKNESS ); SelectObject(hdcbuffer, GetStockObject(NULL_PEN)); BitBlt(hDCMask, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, NULL, rc.left, rc.top, BLACKNESS ); SelectObject(hDCMask, hAirspaceBorderPen); SelectObject(hDCMask, GetStockObject(HOLLOW_BRUSH)); } // Draw airspace area if (1) { CCriticalSection::CGuard guard(CAirspaceManager::Instance().MutexRef()); if (borders_only) { // Draw in reverse order! // The idea behind this, is lower top level airspaces are smaller. (statistically) // They have to be draw later, because inside border area have to be in correct color, // not the color of the bigger airspace above this small one. for (itr=airspaces_to_draw.rbegin(); itr != airspaces_to_draw.rend(); ++itr) { if ((*itr)->DrawStyle() == adsFilled) { airspace_type = (*itr)->Type(); if (!found) { found = true; ClearTptAirSpace(hdc, rc); } // set filling brush SelectObject(hdcbuffer, GetAirSpaceSldBrushByClass(airspace_type)); (*itr)->Draw(hdcbuffer, rc, true); (*itr)->Draw(hDCMask, rc, false); } }//for } else { // Draw in direct order! for (it=airspaces_to_draw.begin(); it != airspaces_to_draw.end(); ++it) { if ((*it)->DrawStyle() == adsFilled) { airspace_type = (*it)->Type(); if (!found) { found = true; ClearTptAirSpace(hdc, rc); } // set filling brush SelectObject(hDCTemp, GetAirSpaceSldBrushByClass(airspace_type)); (*it)->Draw(hDCTemp, rc, true); } }//for }//else borders_only }//mutex release // alpha blending if (found) { if (borders_only) { #if (WINDOWSPC<1) TransparentImage(hdcbuffer, rc.left,rc.top, rc.right-rc.left,rc.bottom-rc.top, hDCMask, rc.left,rc.top, rc.right-rc.left,rc.bottom-rc.top, RGB_WHITE ); TransparentImage(hDCTemp, rc.left,rc.top, rc.right-rc.left,rc.bottom-rc.top, hdcbuffer, rc.left,rc.top, rc.right-rc.left,rc.bottom-rc.top, RGB_BLACK ); #else TransparentBlt(hdcbuffer, rc.left,rc.top, rc.right-rc.left,rc.bottom-rc.top, hDCMask, rc.left,rc.top, rc.right-rc.left,rc.bottom-rc.top, RGB_WHITE );//.........这里部分代码省略.........
开发者ID:JanezKolar,项目名称:LK8000,代码行数:101,
示例6: GetSourceCoordinatesvoid Scope::CaptureScreen(){ GetSourceCoordinates(&m_intScreenCapX, &m_intScreenCapY); // calculate coordinates of source rectangle RECT SourceRect; SourceRect.left = m_intScreenCapX; SourceRect.top = m_intScreenCapY; SourceRect.right = SourceRect.left + m_intSrcWidth * 2 + long((m_intSBSOffset + m_intImageSeparation) / m_fltZoom); SourceRect.bottom = SourceRect.top + m_intSrcHeight; // blit a copy of the screen so you don't have to draw on the screen DC BITMAP WinCopyBMInfo; GetObjectW(m_winCopyBM, sizeof(BITMAP), &WinCopyBMInfo); BitBlt(m_winCopyDC, 0, 0, WinCopyBMInfo.bmWidth, WinCopyBMInfo.bmHeight, m_winDC, 0, 0, SRCCOPY | CAPTUREBLT); //Draw the cursor m_GlobalCursor.cbSize = sizeof(CURSORINFO); GetCursorInfo(&m_GlobalCursor); if (m_GlobalCursor.flags == CURSOR_SHOWING) { ICONINFO CursorInfo; GetIconInfo((HICON)m_GlobalCursor.hCursor, &CursorInfo); DrawIconEx(m_winCopyDC, m_GlobalCursor.ptScreenPos.x, m_GlobalCursor.ptScreenPos.y, m_GlobalCursor.hCursor, int(m_intCursorWidth * m_fltZoom), int(m_intCursorHeight * m_fltZoom), 0, NULL, DI_COMPAT | DI_NORMAL); DeleteObject(CursorInfo.hbmColor); DeleteObject(CursorInfo.hbmMask); } // Rotate and offset the desktop // Build the destination parallelogram using glm glm::vec2 pts_vec2[3]; pts_vec2[0] = glm::vec2(0, 0); pts_vec2[1] = glm::vec2(m_intMainDisplayWidth, 0); pts_vec2[2] = glm::vec2(0, m_intMainDisplayHeight); glm::vec2 center(m_intMainDisplayWidth / 2, m_intMainDisplayHeight / 2); const float roll = -m_fltRoll; glm::mat2 R = glm::mat2(cos(roll), -sin(roll), sin(roll), cos(roll)); glm::mat2 S = glm::mat2(m_fltZoom, 0, 0, m_fltZoom); // Transform the points and convert to GDI format POINT pts[3]; for (int i = 0; i < 3; ++i) { // Move to origin [0, 0] pts_vec2[i] -= center; // Scale (zoom) pts_vec2[i] = S * pts_vec2[i]; // Offset according to HMD orientation pts_vec2[i].x -= m_intScreenCapX; pts_vec2[i].y -= m_intScreenCapY; // Rotate pts_vec2[i] = R * pts_vec2[i]; // Move back pts_vec2[i] += center; // Convert to GDI format pts[i].x = pts_vec2[i].x; pts[i].y = pts_vec2[i].y; } // Clear the back buffer RECT ClearRect = {0, 0, m_intMainDisplayWidth, m_intMainDisplayHeight}; FillRect(m_BackDC, &ClearRect, (HBRUSH)COLOR_WINDOWTEXT); // Blit the rotated desktop to back buffer PlgBlt(m_BackDC, pts, m_winCopyDC, 0, 0, m_intMainDisplayWidth, m_intMainDisplayHeight, NULL, 0, 0);}
开发者ID:Endox,项目名称:Deskope,代码行数:75,
示例7: Test_Rectanglevoid Test_Rectangle(void){ HDC hdc; HBITMAP hBmp; BOOL ret; HBRUSH hBrush; HPEN hPen; COLORREF color; hdc = CreateCompatibleDC(NULL); ok(hdc != NULL, "Failed to create the DC!/n"); hBmp = CreateCompatibleBitmap(hdc, 4, 4); ok(hBmp != NULL, "Failed to create the Bitmap!/n"); hBmp = SelectObject(hdc, hBmp); ok(hBmp != NULL, "Failed to select the Bitmap!/n"); hBrush = CreateSolidBrush(RGB(0, 0, 0)); ok(hBrush != NULL, "Failed to create a solid brush!/n"); hBrush = SelectObject(hdc, hBrush); ok(hBrush != NULL, "Failed to select the brush!/n"); /* Blank the bitmap */ ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS); ok(ret, "BitBlt failed to blank the bitmap!/n"); /* Try inverted rectangle coordinates */ ret = Rectangle(hdc, 0, 2, 2, 0); ok(ret, "Rectangle failed!"); color = GetPixel(hdc, 0, 0); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 2); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 0, 2); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 0); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 1, 1); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS); ok(ret, "BitBlt failed to blank the bitmap!/n"); /* Try well ordered rectangle coordinates */ ret = Rectangle(hdc, 0, 0, 2, 2); ok(ret, "Rectangle failed!"); color = GetPixel(hdc, 0, 0); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 2); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 0, 2); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 0); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 1, 1); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); /* tests with NULL pen */ hPen = SelectObject(hdc, GetStockObject(NULL_PEN)); /* Blank the bitmap */ ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS); ok(ret, "BitBlt failed to blank the bitmap!/n"); ret = Rectangle(hdc, 0, 0, 3, 3); ok(ret, "Rectangle failed!"); color = GetPixel(hdc, 0, 0); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 2); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 0, 2); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 0); ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 1, 1); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); SelectObject(hdc, hPen); /* Same tests with GM_ADVANCED */ ok(SetGraphicsMode(hdc, GM_ADVANCED) == GM_COMPATIBLE, "Default mode for the DC is not GM_COMPATIBLE./n"); /* Blank the bitmap */ ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS); ok(ret, "BitBlt failed to blank the bitmap!/n"); /* Try inverted rectangle coordinates */ ret = Rectangle(hdc, 0, 2, 2, 0); ok(ret, "Rectangle failed!"); color = GetPixel(hdc, 0, 0); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 2); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 0, 2); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 2, 0); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); color = GetPixel(hdc, 1, 1); ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color); ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS); ok(ret, "BitBlt failed to blank the bitmap!/n"); //.........这里部分代码省略.........
开发者ID:GYGit,项目名称:reactos,代码行数:101,
|