As leoTaro said, you should definitely take a look at AIImageOptimization.h and use MakePNG24 method. Take a look at AIImageOptPNGParams2 and AIImageOptPNGParams structs, which are used by MakePNG24. This way you could set the image resolution AIErr result = kNoErr; AIDataFilter* dstFilter = 0; AIDataFilter* filter = 0; ...... result = sAIDataFilter->NewFileDataFilter(fileP, "write", 'prw', 'PNGf', &filter); aisdk::check_ai_error(result); result = sAIDataFilter->LinkDataFilter(dstFilter, filter); aisdk::check_ai_error(result); dstFilter = filter; AIImageOptPNGParams2 params; params.versionOneSuiteParams.interlaced = ...; params.versionOneSuiteParams.numberOfColors = ....; params.versionOneSuiteParams.transparentIndex = ...; params.versionOneSuiteParams.resolution = 300; params.versionOneSuiteParams.outAlpha = ...; params.antialias = ConfigurationManager::GetAntialias(); /* A cropping box for the art. If empty or degenerate, do not crop. */ params.cropBox = bounds; params.backgroundIsTransparent = ConfigurationManager::GetBackgroundIsTransparentProperty(); result = sAIImageOpt->MakePNG24 (art, dstFilter, params, MyRasterizeProgressProc); aisdk::check_ai_error(result); .... if (dstFilter) { result = sAIDataFilter->UnlinkDataFilter (dstFilter, &dstFilter); aisdk::check_ai_error(result); } I hope this will be helpful. Thomas.
... View more