본문 바로가기
코스웨어/15년 스마트컨트롤러

20151124 - WinAPI 일지 엄민웅 (PatBlt, CAM 화면 출력)

by 알 수 없는 사용자 2015. 11. 24.
728x90
반응형

어제 히스토그램 그래프 그릴라고 할때 배경이 검은색으로 되있는 부분 해결 위해서 PatBlt 사용


DrawBitmap 함수안에서

(소스코드 중략)

HBRUSH hBrWhite; //변수 선언

(소스코드 중략)

hBrWhite = CreateSolidBrush(RGB(255, 255, 255)); // 흰색 세팅

SelectObject(MemDC, hBrWhite); 

PatBlt(MemDC, 0, 0, 256+1, 256, PATCOPY);

//BOOL PatBlt(HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop);

DeleteObject(hBrWhite); //잠시 요렇게 쓸 변수 이니깐 쓰고 금방 딜릿트

(소스코드 중략)


PATCOPY

DC에 선택되어 있는 브러시의 색상을 그대로 출력한다.


PatBlt (홈페이지 레퍼런스)


...


...


...



로 처음 생각하고 짰었는데 hBrWhite 필요없다고 하심 


줄여서 for문 전에

CreateSolidBrush(RGB(255, 255, 255));

PatBlt(MemDC, 0, 0, 256+1, 256, PATCOPY);

요 두줄 넣으니깐 해결 ,, ㅋㅋ


히스토그램 그래프 출력 위한 이중 포문 ㅎㅎ

for (iCntY = 0; iCntY < YGRAPH; ++iCntY)
{
for (iCntX = 0; iCntX < XGRAPH+1; ++iCntX)
{
if ((YGRAPH -1 - iCntY) <= uiCnt[iCntX])
{
SetPixel(MemDC, iCntX+1, iCntY, RGB(0, 0, 0)); // 그레프
}
}
SetPixel(MemDC, 0, iCntY, RGB(0, 0, 0)); // y축
}



프로그램 실행 결과.

앞에서 배운 평활화 RGB 따로 추출 등등 활용해서 더 꾸밀 수도 있다하심.


이후 시간 CAM


주쌤 설명하시는거 따라갔으나 잘 안되서 맨붕 ,, 결국 다른 분 소스로 구원 ...


프로젝트 파일 입니다.

20151124-1 .7z



728x90