Skip to main content
6400 Posts
RasterizeSuiteで高解像度のラスタライズを正しく行う方法について

Illustrator SDKを用いてラスタライズを伴うLiveEffectプラグインの開発を行っています。現在「ドキュメントのラスタライズ効果設定」を72dpi以上の値に設定したときに、添付画像で説明しているような意図しないビットマップが出力される問題が発生しています。ラスタライズまでの処理は以下のとおりです。(簡便のために色々省略していますが、ビットマップが取得できるまでは動作していると仮定してください) // GoLiveEffectメソッド内 // artSetにはmessage->artだけが追加されています AIRasterizeSettings settings; settings.type = AIRasterizeType::kRasterizeARGB; settings.antialiasing = 4; // この値を300などに変更すると、ラスタライズ効果設定を72dpiにしたときにしたときにメモリを使い切ってクラッシュしてしまう settings.resolution = (double)72; settings.ccoptions = AIColorConvertOptions::kForExport; settings.preserveSpotColors = true; settings.options = (AIRasterizeOptions)(AIRasterizeOptions::kRasterizeOptionsUseEffectsRes | AIRasterizeOptions::kRasterizeOptionsDoLayers); AIArtHandle rasterArt; sAIArt->NewArt(AIArtType::kRasterArt, AIPaintOrder::kPlaceAbove, art, &rasterArt); AIRealRect bounds; sAIRasterize->ComputeArtBounds(artSet, &bounds, false); AIRealMatrix sourceMatrix; sAIRaster->GetRasterMatrix(rasterArt, &sourceMatrix); //