본문 바로가기
반응형

C & C++/MFC Media17

마우스 커서 포함하여 이미지 캡쳐 출처 - 여기여기 HDC h_screen_dc = ::GetDC(NULL);HCURSOR hCursor;SetCursor(LoadCursor(0,IDC_ARROW));hCursor = GetCursor(); POINT ptMouse;GetCursorPos(&ptMouse);DrawIcon(h_screen_dc, ptMouse.x, ptMouse.y, (HICON)hCursor); 2014. 11. 10.
GDI+ 설정(셋팅) 하기 아래는 GDI+를 사용하기위한 셋팅입니다. 먼저 MFC프로젝트를 생성하고 1.stdafx.h에 #include #pragma comment(lib, "gdiplus") using namespace Gdiplus; 2. CxxxxxApp의 header파일에 ULONG_PTR m_gpToken; 3. CxxxxxApp의 Cpp파일에 아래 함수에 내용 추가 BOOL CxxxxxxApp::InitInstance() GdiplusStartupInput gdiplusStartupInput; if(GdiplusStartup(&m_gpToken, &gdiplusStartupInput, NULL) != Ok){ AfxMessageBox(_T("GDI+를 초기화 하는데 실패했습니다.")); return FALSE; } i.. 2014. 8. 14.
화면 캡쳐(Screen Capture) 하기 화면 캡쳐(Screen Capture) 하기 바탕화면 정보 얻어와 bmp 저장하기 현재 스크린 화면을 캡쳐하여 그 이미지를 정의된 DIB형식에 따라 BMP파일로 저장하는 방법에 대해서 알아보겠습니다. ( 저장된 파일은 현재 폴더에 'image.bmp' 파일명으로 저장됩니다. ) // 캡쳐를 하기 위해서 화면에서 현재 프로그램을 감춘다. ShowWindow(SW_HIDE); // 스크린 전체를 캡쳐하기 위해서 CWindowDC 형식으로 DC를 얻는다. // GetDC의 파라메터에 특정 윈도우 핸들을 넣지 않고 NULL을 넣으면 // CWindowDC 형식으로 DC를 얻게 된다. HDC h_screen_dc = ::GetDC(NULL); // 현재 스크린의 해상도를 얻는다. int width = ::GetD.. 2013. 11. 14.
BMP 투명화 처리 비주얼 C++를 이용해 BMP 파일을 처리하는데 BMP 파일을 읽어 투명색을 지정하려면 어떻게 해야 하나요. 참고로 현재 스크린 세이버를 제작중입니다. 비주얼 C++에서 자동으로 이 문제를 지원하는 방법은 없고, 다만 이에 대한 함수가 공개되어 있을 뿐입니다. MSJDrawTransparentBitmap이라는 함수가 마이크로소프트의 knowledgebase 079212에 나와있습니다. 다음 소스 코드를 보면 이 함수가 하는 일은 비트맵을 불러오고 페인팅 표면을 투명하게 칠하기 위해 마스크로 보내는 작업을 한다는 것을 알 수 있습니다(자세한 내용은 MSJ 한국판 98년 1월호 108쪽 참고). // MSJDrawTransparentBitmap // 함수는 복사되었고 Knowledgebase 기사 Q7921.. 2012. 11. 9.
WM_PAINT 메세지에 대하여... 생성된 윈도우가 다른 윈도우에 의하여 가려졌다가 다시 나타날 경우 가려졌던 부분이 지우개로 지운 것 처럼 지워지는 현상을 목격할 수 있습니다. 또는 윈도우의 크기를 리사이즈 시켰을 경우 윈도우 화면의 일부 또는 전체가 지워지는 현상을 목격할 수 있습니다. 이와 같이 생성된 윈도우의 가려졌던 부분을 무효화 영역(Invalid Region)이라 하고 우리는 무효화 영역이 생겼을 경우 이를 다시 복구시켜야 할 필요성을 인지할 수 있습니다. 무효화 영역(Invalid Region)의 복구 작업을 윈도우즈가 알아서 처리해 준다면 사용자 입장에서는 한결 프로그래밍에 대한 부담을 덜 느낄수 있겠지만 아쉽게도 윈도우즈는 무효화 영역(Invalid Region)의 복구에 대한 책임을 전적으로 사용자에게 맡기고 있습니다... 2012. 10. 5.
picture control 투명화 처리 // PictureEx.cpp : implementation file // #include "stdafx.h" #include "PictureEx.h" // CPictureEx IMPLEMENT_DYNAMIC(CPictureEx, CStatic) CPictureEx::CPictureEx() { m_iPicStyle = PICSTYLE_CENTER; m_colorBkgrnd = m_colorTransparent = RGB(0, 0, 0); } CPictureEx::~CPictureEx() { } BEGIN_MESSAGE_MAP(CPictureEx, CStatic) ON_WM_ERASEBKGND() ON_WM_PAINT() END_MESSAGE_MAP() void CPictureEx::SetTranspare.. 2012. 8. 30.
반응형