指定したピクセルの RGBA 値を 4 タプルとして返す get_pixel(x, y) メソッドを提供するカスタム Image オブジェクトが与えられます。
私の目標は、この Image オブジェクトを受け取り、それを標準の Windows 24 ビット bmp イメージとして書き出す関数を作成することです。ヘッダーをエクスポートするための関数を既に作成しましたが、今私が抱えている本当の問題は、できるだけ早くピクセルを書き出すことです。
結果のbmp形式は圧縮されていないので、私はただ言うことができます
ピクセル = [] y in 0 ..高さ - 1 x in 0 .. 幅 - 1 #色を取得し、配列にプッシュ 終わり 終わり ピクセル.パック(...)
どちらが機能するはずですが (ピクセルの順序を正しくしてパディングを行う必要があります)、より高速な方法はありますか? (ルビーで使用できる高階関数が役立つ可能性はありますか?)
編集: すべての反復ではなく、一度にすべてを書き出す必要があることを思い出しました。それはそれを非常にスピードアップしました。