Thinkbox Software 製品
ブログ

二つの画像の合成

画像を合成します。合成はポジションの指定が異なる三種類のファンクションがあります。 状況に応じて使い分けてください。
Composite , CompositeWithAnchor , CompositeWithPositionAndAnchor

書き方(1):
img = Draft.Image.ReadFromFile( ‘Base.exr’ )   # ベースとなる画像を読込み
OverImg = Draft.Image.ReadFromFile( ‘Over.exr’ ) # 重ねる画像を読込み
img.Composite(OverImg, XPOS, YPOS, Draft.CompositeOperator.OverCompositeOp)        # 合成

パラメータ(1):
OverImg:ベース画像に重ねるイメージを指定
XPOS :横位置を%で指定 X位置を画像の30%に指定する場合 0.3と指定
YPOS :縦位置を%で指定 Y位置を画像の30%に指定する場合 0.3と指定

書き方(2):
img = Draft.Image.ReadFromFile( ‘Base.exr’ )   # ベースとなる画像を読込み
OverImg = Draft.Image.ReadFromFile( ‘Over.exr’ ) # 重ねる画像を読込み
img.CompositeWithAnchor(OverImg, POS, Draft.CompositeOperator.OverCompositeOp )        # 合成

パラメータ(2):
OverImg:ベース画像に重ねるイメージを指定
POS : 合成する位置を定数にて指定

Draft.Anchor.NorthWest :上部左端
Draft.Anchor.NorthEast :上部右端
Draft.Anchor.North :上部中央
Draft.Anchor.SouthWest :下部左端
Draft.Anchor.SouthEast :下部右端
Draft.Anchor.South :下部中央
Draft.Anchor.West :中央左端
Draft.Anchor.East :中央右端
Draft.Anchor.Center :中央

書き方(3):
img = Draft.Image.ReadFromFile( ‘Base.exr’ )   # ベースとなる画像を読込み
OverImg = Draft.Image.ReadFromFile( ‘Over.exr’ ) # 重ねる画像を読込み
img.CompositeWithPositionAndAnchor(OverImg, XPOS, YPOS, POS, Draft.CompositeOperator.OverCompositeOp )        # 合成

パラメータ(3):
OverImg:ベース画像に重ねるイメージを指定
XPOS :横位置を%で指定 X位置を画像の30%に指定する場合 0.3と指定
YPOS :縦位置を%で指定 Y位置を画像の30%に指定する場合 0.3と指定
POS : 合成する位置を定数にて指定

Draft.Anchor.NorthWest :上部左端
Draft.Anchor.NorthEast :上部右端
Draft.Anchor.North :上部中央
Draft.Anchor.SouthWest :下部左端
Draft.Anchor.SouthEast :下部右端
Draft.Anchor.South :下部中央
Draft.Anchor.West :中央左端
Draft.Anchor.East :中央右端
Draft.Anchor.Center :中央

記述例:Base画像にOver画像を重ねて保存します。
# -*- coding: UTF-8 -*- import Draft   # DRAFTのAPIのインポート

img = Draft.Image.ReadFromFile( r’c:\test\Base.exr’ )  # ベースとなる画像を読込み
ballImg = Draft.Image.ReadFromFile( r’c:\test\Over.exr’ ) # 重ねる画像を読込み
img.CompositeWithAnchor( ballImg, Draft.Anchor.SouthEast, Draft.CompositeOperator.OverCompositeOp )         # 合成
img.WriteToFile( ‘BaseOver.exr’ )    # 画像を保存