반응형

2015/06/09 2

[C++] 가려진 윈도우 캡쳐, 화면 캡쳐 후 BMP 저장

가려진 윈도우 캡쳐 뿐만 아니라, 프로그램 개발 시 View 화면 캡쳐 응용 가능SaveToFile 함수 : HBITMAP을 입력받아 저장하는 기능Capture 함수 : 캡쳐하고자하는 윈도우의 핸들(hTargetWnd)과 저장할 파일명(lpszFilePath)을 입력받아 캡쳐 후 저장 기능PrintWindow : 가려진 윈도우를 캡쳐하는 역할을 한다. BOOL Capture(HWND hTargetWnd, LPCTSTR lpszFilePath) { CRect rct; if(hTargetWnd) ::GetWindowRect(hTargetWnd, &rct); else return FALSE; HBITMAP hBitmap = NULL; HBITMAP hOldBitmap = NULL; BOOL bSuccess =..

Programming/MFC-C++ 2015.06.09

Wave PCM Data Drawing with C++

영상만 다뤄오다, 오디오 데이터를 다뤄야하는 경우가 생겼다. 처음에는 보간도 해보고, 나름 여러가지 방법을 해봤지만,원하는 결과가 나오지 않았다. 그러던 중 GoldWave의 PCM 데이터가 그려지는 형태를 잘 관찰했더니, 다음과 같은 방법을 얻었다. 1. 화면에 표현할 수 있는 범위를 정하고, 그리고 싶은 오디오 데이터의 길이를 정한다.2. 화면의 x축 방향의 1픽셀 위치에 포함되는 오디오 데이터 범위를 계산한다.3. 해당 범위에 속하는 오디오 데이터의 Min, Max 값을 계산한다.4. 화면 상의 해당하는 x축 위치에 노멀라이즈(옵션임)를 수행한 후 계산한 min, max값을 이용해서 그린다.5. 만약 x축 방향의 1픽셀 위치에 포함되는 오디오 데이터가 2보다 작다면, 연결해서 그린다. ( 그림 4 ..

Programming/MFC-C++ 2015.06.09
반응형