GDI+ 초기화
소개
Google에서 GDI+ 샘플 쿼리를 수행했다면 .NET 무료 코드를 가리키는 수백 또는 수천 개의 URL을 얻을 수 있을 것입니다. 서점에 가면 GDI+에 대해 이야기하는 수십 권의 책을 볼 수 있습니다. 그러나 시도하면 GDI+를 MFC/ATL/WTL과 통합하는 방법에 대한 정보를 찾으면 아무 것도 찾을 수 없을 것입니다.(가능하다면 URL을 게시해 주세요!) 그래서, 그것이 불가능하거나 너무 어려워 사용할 가치가 없는 것입니까?
결과
대답은: MFC/ATL/WTL 또는 C 언어에서도 GDI+를 사용하기가 매우 쉽습니다. 첫째, 저는 .NET에 대한 지식이 없음을 인정해야 합니다. 저는 Microsoft .NET의 팬이 아니라 플랫폼 SDK를 선호합니다. . GDI+는 .NET 전용이 아닙니다. XP보다 낮은 Windows 버전에서 GDI+를 사용하려는 경우 GDI+ 런타임을 재배포해야 합니다(여기). 걱정하지 마세요. xxMB가 아니라 1.04MB입니다. .NET 런타임.
그래서?
#include <gdiplus.h> using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib")
CWinApp
파생 클래스에 구성원으로 추가합니다. GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
InitInstance()
에서 다음을 추가합니다.ExitInstance()
에 다음 줄을 추가합니다. : GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
보시다시피 아주 간단합니다. 일반적으로 기존 WIN32/MFC/WTL 페인팅 코드를 GDI+로 이식하는 것은 매우 쉽습니다. 이유를 묻는다면
RedEyeCorrection
라는 GDI+ C++ 클래스가 하나 있다고 생각해 보십시오. 바로, 플래시 사진에서 가끔 발생하는 적목 현상을 수정하기 위해 1년 이상 WIN32/MFC 경험이 있는 경우 여기 링크를 따라가면 더 많은 것을 볼 수 있습니다.위의 내용을 보여주기 위해 데모 프로젝트를 포함했습니다.
GDI+는 장치 컨텍스트 핸들 중심이므로 실제 드로잉 코드와 별도로 드로잉 로직을 분할할 수 있다면 GDI+로 이식하는 데 문제가 없을 것입니다.어떤 경우에는 100라인의 드로잉 코드를 GDI+ 집중 지원으로 단 5라인으로 줄일 수 있습니다. 복잡한 드로잉 연습의 경우 일반 GDI와 GDI+를 혼합하는 것은 간단한 작업입니다.
다운로드한 프로젝트는 표준 MFC SDI 프로젝트입니다. 읽어보셨다면(그렇기를 바랍니다...) 믿을 수 없을 정도로 간단하다는 것을 알게 되실 것입니다. 거의 항상 MSDN에 포함된 소스 코드를 잘라내어 붙여넣을 수 있습니다. 한 가지 팁: GDI+가 외부 파일을 로드해야 하는 경우 도움말에서 이미지를 마우스 오른쪽 버튼으로 클릭하고 저장한 다음 다운로드한 프로젝트를 계속 사용하여 테스트를 계속할 수 있습니다.
마지막으로, VC++ 검색 경로에 필요한 GDI+ 헤더, 라이브러리를 가지려면 플랫폼 SDK 사본이 필요합니다. 최신 버전에는 필요하지 않습니다. 저는 Aug'02 버전을 사용하고 있습니다. GDI+ 파일은 CAB_11에서 추출할 수 있습니다. SDK를 설치하지 않으려는 경우.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[개발일지 1일차] 구글 애널리틱스 및 다크모드 적용지금 코드 한 줄을 이해하는게 중요한게 아니라 그 흐름을 아시는게 중요해요. -이고잉- 내가 만든 웹사이트에 누가, 몇명이나 들어오는지 궁금하지않으신가요? Github을 이용해 만든 웹사이트이다. 이런 방법이 있는줄...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.