2012年1月31日火曜日

MAXScript ビットマップの作成


-- ビットマップサイズ
gBitmapWidth = 256
gBitmapHeight = 8

-- グラデーションビットマップを作成
fn CreateGradBitmap =
(
 b_width = gBitmapWidth
 b_height = gBitmapHeight
 
 -- ビットマップを作成
 b = bitmap b_width b_height

 -- 列のループ
 for h = 0 to (b_height - 1) do
 (
  -- 行のピクセル配列を収集
  row = for w = 0 to (b_width - 1) collect
  (
   -- 補間係数
   t = w as float / (b_width - 1)
   
   -- rowにカラー値を追加
   if undefined != gSpline then
   (
    -- スプラインから座標を取得
    pos = interpCurve3D gSpline gSplineIdx t
    white * (pos.y / 100.0)
   )else (
    white * t
   )
  )
  -- 収集したピクセル配列をセット
  setpixels b [0, h] row
 )
 return b
)

-- ビットマップを作成
b = CreateGradBitmap()
-- ビットマップを表示
if undefined != b then display b

0 件のコメント:

コメントを投稿