今回は、それを解決します。
ビットマップの縮小自体はこの機能だけで必要になるとも限らない汎用的な用件なので、Utilsを作り、そこにメソッドを定義しました。
特に拡縮用のメソッドなどは見当たらなかったのですが、ピクセルに色を直接セットできるので、手書きすることにしました。
以下のような仕様にしました。
- 引数はビットマップオブジェクトと幅・高さの整数値
- 1/nに縮小した時に、幅・高さともに引数値以下に収まる最小のnを求め、縮小率とする
- 縮小後の新しいビットマップオブジェクトを返却する
ソースはこんな感じになりました。
縮小率が整数限定だったり、色々雑な処理ですが、プレイヤーが見て最低限「ああ、あいつな」って分かればいいんです。0.5刻みにするとか、0.25刻みにするとか、ましてやアンチエイリアスだのフーリエ変換だの、やるつもりは毛頭ありません。
さて、テストです。
テスト用の見掛け倒し雑魚軍団を編成しました。
0 件のコメント:
コメントを投稿