APIAny_ConvertMimePictureID
MIME 타입들을 사용하여 그림을 다른 이미지 포맷으로 변환합니다.
GSErrCode ACAPI_Goodies ( APIAny_ConvertMimePictureID, API_MimePicture* mimePicture );
파라미터
- mimePicture
- [in/out] 소스/목적지 그림의 파라미터들입니다.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
- 입력 파라미터들이 올바로 주어지지 않았습니다. (API_MimePicture를 보십시오)
APIERR_MEMFULL
- 새로운
pictHdl
을 생성하기에는 메모리가 부족합니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 하나의 표준 이미지 포맷에서 다른 포맷으로 그림을 변환하는 데 사용합니다. 이미지 포맷들은 MIME (Multi-purpose Internet Mail Extensions) 타입들로 지정합니다.
가장 일반적으로 사용되느는 이미지 포맷들의 MIME 타입들입니다:
Windows Bitmap image/x-bmp
GIF image/gif
TIFF image/tiff
JPEG image/jpeg
Pict image/pict
SGI image/x-sgi
Photoshop Image image/x-photoshop
PNG image/png
MacPaint Image image/x-macpaint
Truevision TGA image/x-targa
QuickTime Image image/x-quicktime
Windows의 경우 장치 독립 비트맵을 생성하기 위해 특수 출력 타입 "vnd/DIB"
를, Macintosh의 경우 PicHandle을 생성하기 위해 "vnd/PICH"
를 전달할 수 있습니다.
하나의 픽셀 깊이로부터 다른 픽셀 깊이로 변환하는 것은 현재 지원되지 않습니다.
MIME 타입들 대신 API_PictureFormat 식별자들로 이미지들을 변환하기 위해 APIAny_ConvertPictureID goody 함수를 사용할 수 있습니다.
더 이상 필요하지 않으면 리턴된 outputHdl
을 폐기하는 것을 기억하십시오.
API_MimePicture structure의 설명에서 더 많은 옵션들을 보십시오.
예제
평면도 상에 배치된 TIFF 그림을 PNG 포맷 이미지로 변환하기:
GSErrCode ConvertPicture (const API_Guid& pictureGuid) { API_Element element; BNZeroMemory (&element, sizeof (API_Element)); element.header.guid = pictureGuid; GSErrCode err = ACAPI_Element_Get (&element); if (err == NoError && element.picture.storageFormat == APIPictForm_TIFF) { API_ElementMemo memo; BNZeroMemory (&memo, sizeof (API_ElementMemo)); err = ACAPI_Element_GetMemo (pictureGuid, &memo); if (err == NoError) { API_MimePicture mime; BNZeroMemory (&mime, sizeof (API_MimePicture)); mime.mimeIn = "image/tiff"; mime.inputHdl = memo.pictHdl; mime.mimeOut = "image/png"; mime.inContainsMime = false; mime.outDepth = (API_ColorDepthID) -1; err = ACAPI_Goodies (APIAny_ConvertMimePictureID, &mime, NULL); if (err == NoError) { /* mime.outputHdl이 PNG 포맷 형태의 이미지를 포함하고 있음 */ /* 그림 변경, 이미지 파일로 저장, 또는 기타... */ /* 메모리 누수를 막기 위함 */ BMKillHandle (&mime.outputHdl); } ACAPI_DisposeElemMemoHdls (&memo); } } return err; }
API DevKit의 DG_Test 예제 프로젝트에서 MIME 타입 이미지 변환 사용에 대한 또 다른 샘플을 보십시오.
요구사항
- 버전: API 5.1 또는 이후
- 헤더: APIdefs_Goodies.h
참고사항
API_MimePicture
API_PictureFormat
APIAny_ConvertPictureID
ACAPI_Goodies
API 함수