코스웨어/15년 스마트컨트롤러
20151124 - WinAPI 일지 엄민웅 (PatBlt, CAM 화면 출력)
알 수 없는 사용자
2015. 11. 24. 09:47
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
주쌤 설명하시는거 따라갔으나 잘 안되서 맨붕 ,, 결국 다른 분 소스로 구원 ...
프로젝트 파일 입니다.
728x90
20151124-1 .7z