3D動画(Side-By-Side)の作成
Side-By-Side方式の3D動画を作成します。
書き方:
encoder = Draft.VideoEncoder( ‘Patches.mov’, width=640*2 ,height=480) # ビデオエンコーダを横幅2倍で初期化
frame = Draft.Image.CreateImage( 640*2 , 480 ) # 横幅2倍でベース画像を作成
frame.CompositeWithAnchor( LEFTEYEIMAGE , Draft.Anchor.West, Draft.CompositeOperator.OverCompositeOp ) # 左目画像をベース画像の左側へ合成
frame.CompositeWithAnchor( RIGHTEYEIMAGE , Draft.Anchor.East, Draft.CompositeOperator.OverCompositeOp ) # 右目画像をベース画像の右側へ合成
encoder.FinalizeEncoding() # 動画のファイナライズ
パラメータ:
LEFTEYEIMAGE :左目用画像を指定
RIGHTEYEIMAGE :右目用画像を指定
記述例:
右目用画像、左目用画像を200フレーム読込み、Side-By-Side方式の3D動画を作成します
# -*- coding: UTF-8 -*-
import Draft # DRAFTのAPIのインポート
from DraftParamParser import * # DEADLINE→DRAFTで利用するAPIをインポート
encoder = Draft.VideoEncoder( ‘Patches.mov’, width=640*2,height=480 ) # ビデオエンコーダを横幅2倍で初期化
for currFrame in range( 1, 201 ) : # 1-200にナンバーリングされた画像を動画化
currFileL = ReplaceFilenameHashesWithNumber( ‘left_###.jpg’, currFrame ) # ファイル名の###を数字に置き換え
currFileR = ReplaceFilenameHashesWithNumber( ‘right_###.jpg’, currFrame ) # ファイル名の###を数字に置き換え
frameL = Draft.Image.ReadFromFile( currFileL ) # 左目用画像の読み込み
frameR = Draft.Image.ReadFromFile( currFileR ) # 右目用画像の読み込み
frame = Draft.Image.CreateImage( 640*2 , 480 ) # 横幅2倍でベース画像を作成
frame.CompositeWithAnchor( frameL, Draft.Anchor.West, Draft.CompositeOperator.OverCompositeOp ) # 左目画像をベース画像の左側へ合成
frame.CompositeWithAnchor( frameR, Draft.Anchor.East, Draft.CompositeOperator.OverCompositeOp ) # 右目画像をベース画像の左側へ合成
encoder.EncodeNextFrame( frame ) # 画像のエンコード
encoder.FinalizeEncoding() # 動画のファイナライズ