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-bmpGIF image/gifTIFF image/tiffJPEG image/jpegPict image/pictSGI image/x-sgiPhotoshop Image image/x-photoshopPNG image/pngMacPaint Image image/x-macpaintTruevision TGA image/x-targaQuickTime 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 함수