향상된 메타파일 작업
고급 메타파일의 핸들을 사용하여 다음 작업을 수행할 수 있습니다.
- 향상된 메타파일에 저장된 그림을 표시합니다.
- 향상된 메타파일의 복사본을 만듭니다.
- 향상된 메타파일을 편집합니다.
- 향상된 메타파일에 저장된 선택적 설명을 검색합니다.
- 고급 메타파일 헤더의 복사본을 검색합니다.
- 향상된 메타파일의 이진 버전을 검색합니다.
- 선택적 색상표에서 색을 열거합니다.
이러한 작업은 이 항목의 나머지 부분에서 설명합니다.
고급 메타파일에 저장된 그림 표시
PlayEnhMetaFile 함수를 사용하여 향상된 메타파일에 저장된 그림을 표시할 수 있습니다. 향상된 메타파일 레코드의 형식에 관계 없이 함수 핸들을 향상된 메타파일로 전달합니다. 그러나 특정 GDI 함수를 검색하고 함수의 매개 변수를 어떤 방식으로 수정하기 위해 향상된 메타파일의 레코드를 열거하는 것이 바람직한 경우가 있습니다. 이렇게 하려면 EnumEnhMetaFile 을 사용하고 콜백 함수 인 EnhMetaFileProc을 제공하여 향상된 메타파일 레코드를 처리할 수 있습니다. 향상된 메타파일 레코드에 대한 매개 변수를 수정하려면 레코드 내의 매개 변수 형식을 알고 있어야 합니다.
고급 메타파일의 복사본 만들기
일부 애플리케이션은 사용자가 원본을 변경할 수 있도록 설정하기 전에 파일의 임시 백업(또는 중복) 복사본을 만듭니다. 애플리케이션은 CopyEnhMetaFile 함수를 호출하고, 향상된 메타파일을 식별하는 핸들을 제공하고, 새 파일의 이름에 대한 포인터를 제공하여 향상된 메타파일의 백업 복사본을 만들 수 있습니다.
메모리 기반 고급 형식 메타파일을 만들려면 SetEnhMetaFileBits 함수를 호출합니다 .
고급 메타파일 편집
대부분의 드로잉, 일러스트레이션 및 CAD(컴퓨터 지원 디자인) 애플리케이션에는 향상된 메타파일에 저장된 그림을 편집하는 수단이 필요합니다. 향상된 메타파일을 편집하는 것은 복잡한 작업이지만 EnumEnhMetaFile 함수를 다른 함수와 함께 사용하여 애플리케이션에서 이 기능을 제공할 수 있습니다. EnumEnhMetaFile 함수 및 관련 콜백 함수인 EnhMetaFileProc을 사용하면 애플리케이션이 향상된 메타파일에서 개별 레코드를 처리할 수 있습니다.
고급 메타파일에 저장된 선택적 설명 검색
일부 애플리케이션은 열기 대화 상자에서 해당 파일 이름을 사용하여 향상된 메타파일의 텍스트 설명을 표시합니다. GetEnhMetaFileHeader 함수를 사용하여 메타파일 헤더를 검색하고 해당 멤버 중 하나를 검사하여 이 문자열이 향상된 메타파일에 있는지 여부를 확인할 수 있습니다. 문자열이 있는 경우 애플리케이션은 GetEnhMetaFileDescription 함수를 호출하여 검색합니다.
고급 메타파일의 이진 버전 검색
GetEnhMetaFileBits 함수를 호출하여 메타파일의 콘텐츠를 검색할 수 있습니다. 그러나 콘텐츠를 검색하기 전에 파일의 크기를 지정해야 합니다. 크기를 얻으려면 GetEnhMetaFileHeader 함수를 사용하고 적절한 멤버를 검사할 수 있습니다.
선택적 팔레트에서 색 열거
그림이 다양한 출력 디바이스에 표시될 때 일관된 색을 얻으려면 CreatePalette 함수를 호출하고 향상된 메타파일에 논리 팔레트를 저장할 수 있습니다. 향상된 메타파일에 저장된 그림을 표시하는 애플리케이션은 이 팔레트를 검색하고 그림을 표시하기 전에 RealizePalette 함수를 호출합니다. 팔레트가 향상된 메타파일에 저장되는지 여부를 확인하려면 메타파일 헤더를 검색하고 적절한 멤버를 검사합니다. 팔레트가 있는 경우 GetEnhMetaFilePaletteEntries 함수를 호출하여 논리 팔레트를 검색할 수 있습니다.