高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Q&A QA1148
Graphics Importers and image files containing multiple layers


Q: 複数のレイヤからなる Photoshop のファイルを表示するのにグラフィックスインポータを使っています。これらのファイルのレイヤの領域は、イメージ全体の領域より小さいのですが、レイヤを切り替えて描画を行うと、レイヤはイメージ全体のサイズで描かれます。 どのようにすれば、グラフィックスインポータの API を使って、ファイルの各レイヤの領域を取得し、その後正しいサイズと位置で各レイヤを描画することができますか?

A: レイヤインデックス、n に切り替えるため GraphicsImportSetImageIndex を呼び出した後、 現在選択されているレイヤの本来の領域を返す GraphicsImportGetNaturalBounds を呼び出します。

したがって、 GraphicsImportGetNaturalBounds を使えば、レイヤの幅と高さ(GraphicsImportGetNaturalBounds から返される本来の領域の左上角は必ず (0,0) です)を知ることができ、その後 GraphicsImportGetDefaultMatrix を使ってレイヤの配置場所を知ることができます。

参考文献:

Graphics Importer Components


[2002 年 6 月 18 日]