Cimage에서 듀얼 버퍼 드로잉 구현
5702 단어 MFC
void CMFCApplication1View::OnDraw(CDC* pDC)
{
CMFCApplication1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
//
CRect rectClient;
GetClientRect(rectClient);
//
CDC MDC;
MDC.CreateCompatibleDC(pDC); // DC
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, rectClient.Width(), rectClient.Height()); //
MDC.SelectObject(bmp);
//
m_bmpBack.Draw(MDC, rectClient);
//
pDC->BitBlt(0, 0, rectClient.Width(), rectClient.Height(), &MDC, 0, 0, SRCCOPY);
ReleaseDC(pDC);
}
BitBlt에 대한 소개입니다.
BOOLBitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop);
x: 대상 사각형 영역의 왼쪽 위 x 축 좌표점입니다.
y: 대상 사각형 영역의 왼쪽 위 Y축 좌표점입니다.
nWidth: 대상 장치에 비트맵의 폭을 그립니다.
nHit: 대상 장치에 비트맵 높이를 그립니다.
pSrcDC: 소스 장치 컨텍스트 객체 포인터.
xSrc: 원본 장치 상하문에 있는 기점 x축 좌표입니다. 함수는 이 기점에서 대상 장치로 복사됩니다.
ySrc: 소스 장치 컨텍스트의 시작점 y축 좌표로, 함수는 해당 시작점에서 대상 장치로 비트맵을 복사합니다.
dwRop: 래스터 작업 코드dwRop에는 다음과 같은 옵션이 있습니다.
BLACKNESS는 대상 영역을 검정색으로 채웁니다.
DSTINVERT 대상 매트릭스 영역 색상 반전
MERGECOPY는 원래의 장치 사각형 영역의 색상과 대상 장치의 브러시를 연산과 조합합니다
MERGEPAINT는 대칭 이동된 소스 사각형 영역의 색상과 대상 사각형 영역의 색상을 결합하기 위해 또는 연산을 사용합니다.
NOTSRCCOPY 복제 소스 장치 영역이 대상 장치에 반사됨
NOTSRCERASE는 소스 장치 영역과 대상 장치 영역의 색상을 조합하여 사용하거나 연산한 다음 결과 색상을 반대로 가져옵니다.
PATCOPY 소스 디바이스에서 현재 선택한 브러시를 대상 디바이스로 복제
PATINVERT는 대상 장치에서 선택한 브러시와 대상 장치 영역의 색상을 다르게 또는 연산하여 조합합니다.
PATPAINT는 대상 영역에서 현재 선택한 브러시와 원본 장치 영역의 반전된 색을 조합하거나 연산합니다
SRCAND는 소스 및 대상 장치 영역의 색상을 연산과 결합합니다.
SRCCOPY는 소스 디바이스 영역을 대상 디바이스로 직접 복제
SRCERASE는 연산과 결합된 대상 장치 영역의 역색 및 소스 장치 영역의 색을 사용합니다.
SRCINVERT는 소스 장치 영역 색상 및 대상 장치 영역 색상을 조합하여 이기종 또는 연산을 사용합니다.
SRCPAINT에서 소스 장치 영역 색상 및 대상 장치 영역 색상 조합을 사용하거나 연산합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MFC는 화면을 나눈 후 좌우 두 개의 대화상자, 즉 두 개의view 구역 관련 매개 변수로 나뉘어 설정한다.1. 모든 메뉴 막대 버튼을 CmainFrame 클래스로 정의하는 것이 좋습니다.메뉴 표시줄 단추를 다른view에 정의하고 다른view인터페이스를 클릭하면 해당 메뉴 항목이 비워지는 현상이 일어나지 않습니다.이 현상...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.