Miyako1.4.6、そろそろリリースします
Windows上での検証が大体終わったので、Miyako1.4.6をそろそろリリースします。
大きな変化は、必要色深度が32ビットになったことです。
あと、画像がαチャネル対応になったこと。お互いトレードオフの関係です。
でも、32ビット固定にしたことで、ビットマップデータを直接いじる踏ん切りが付いたので、もう少しつっこんだ開発もできそうです。
(ピクセルデータをunsigned charじゃなくてunsigned longで取得できる幸せ・・・)
たとえば、αチャネルをそのままに、RGBのみを反転させたり、
超簡単な加算合成をしたりできます。
(アルゴリズム的にダメダメですが・・・)
あと、割合でαチャネルの値を減少させることができます。
これらは、SDL::Surfaceを渡し、操作結果をSDL::Surfaceで受け取る方式です。
コードにするとこんな感じです。
@v0 = Sprite.new("abc.png",nil.nil) # αチャネル付き画像として作成 @v1 = Sprite.new(Bitmap.inverse(@v0.bitmap), nil, nil) # @v0の画像を反転させてスプライトを作成
あ、スプライトを作るとき、必ずαチャネルを指定しておいてください。
メソッド内部では、αチャネル付き画像と想定して動きますので。
やりたいと思っていた色相変換はスキル取得に時間がかかりそうなので、今後のリリースで・・・。