アイマスから離れて久しい・・・・外から参照するためのメモ程度のものです。 記載されたソースコードは、特に指定が無い限り改変再配布はご自由にどうぞ。 但し、無保証です。質問は受け付けません。バグ等には対応しません。

2008年4月22日火曜日

合成処理

合成処理を単純化すると以下のようになります

Public Sub MagBitmap(ByVal A As Bitmap, ByVal B As Bitmap)
For Y As Integer = 0 To A.Height - 1
For X As Integer = 0 To A.Width - 1
If (A.GetPixel(X, Y).GetBrightness < B.GetPixel(X, Y).GetBrightness) Then
A.SetPixel(X, Y, B.GetPixel(X, Y))
End If
Next
Next
End Sub

このロジックだと異様に遅いので、実際はバイト配列を使って処理していますが・・・どうでも良いことですね・・・
これで亜美真美を合成すると


ifの大小判定を逆にすると


これが、私の合成処理の基本。
これに座標の操作を加え他のキャラと合成したり、明度差を利用した切り抜き等を行っています。
予め明度差が少ないことが判っているから出来る処理なので、通常撮影した動画を編集するために作られた動画編集ソフトには、こんな機能は無いと思う。

0 件のコメント: