0

指定したピクセルの RGBA 値を 4 タプルとして返す get_pixel(x, y) メソッドを提供するカスタム Image オブジェクトが与えられます。

私の目標は、この Image オブジェクトを受け取り、それを標準の Windows 24 ビット bmp イメージとして書き出す関数を作成することです。ヘッダーをエクスポートするための関数を既に作成しましたが、今私が抱えている本当の問題は、できるだけ早くピクセルを書き出すことです。

結果のbmp形式は圧縮されていないので、私はただ言うことができます

ピクセル = []
y in 0 ..高さ - 1
  x in 0 .. 幅 - 1
    #色を取得し、配列にプッシュ
  終わり
終わり
ピクセル.パック(...)

どちらが機能するはずですが (ピクセルの順序を正しくしてパディングを行う必要があります)、より高速な方法はありますか? (ルビーで使用できる高階関数が役立つ可能性はありますか?)

編集: すべての反復ではなく、一度にすべてを書き出す必要があることを思い出しました。それはそれを非常にスピードアップしました。

4

0 に答える 0