>> [音楽再生]
>> ROBボーデン：こんにちは。
私はロブだとしましょう​​のサイズ この問題は、最大。
だから我々は、それなのにで開始するつもりだ テンプレートが、我々はあることを行っている
かなりの数の変更を行う。
>> 今、我々はすぐに作っている参照してください。 私たちはもはやチェックしている変更
私たちのRXCのために今3と等しくしませんが、 我々は、RCをチェックしているのは4と等しくない。
我々はまた、中に含むようにしたいので ファイル内と外のファイルに加え
このことを行っている引数、F 我々は、スケーリングしているする因数。
>> 我々はそれの確信しているので、一度、私たちがしたい 文字列を変換するためのスキャンFを使用する
floatにargv1。
そして、我々は店に行っている その要因に。
この追加の文字が確認している 私たちは実際に入っていないこと
1.4 ABCのようなもの コマンドラインで。
>> 今、我々はいくつかの別名を作成しましょう RV2とRV3ではありませんので、
非常に役に立った名前。
私たちは、その代わりに、コールするつもりだ ファイルアウトファイルに。
今、私たちはそのことを確認するつもりだ 私達の要因は、実際には有効であった。
そこで因子は、以下に等しい場合 100よりもゼロ以上、その後に従って
仕様は、我々は拒否しなければならない その要因。
>> 我々は確信しているとき、それは我々ができるようになりました、良いことだ n個のファイルを開いて、我々は確認する必要があり
それが正常に開かれたことを確認してください。
それがなかった場合、それはnullを返します。
私たちは、外のファイルを開くしようとしている。
そして再び、我々は作るためにチェックしたい それが正常にオープンされていることを確認してください。
そしてそれは成功し、その後、オープンしなかった場合 我々はまた、閉じていることを確認する必要があり
もともと成功し、n個のファイル 開かれた、あるいは、我々は持っている
メモリリーク。
>> だから今、私たちは、ビットマップを読み込むつもりだ ファイルヘッダとビットマップ情報
n個のファイルからヘッダ。
私たちは、ことを確認するつもりだ n個のファイルには、有効なビットマップだった。
[OK]をクリックします。
>> だから今我々は開始するつもりだ いくつかの変更を行う。
だから我々は、変化することになるだろうので、 物事は、我々は最初に覚えておきたい
n個のファイルの古い幅。
私たちは、古いパディングを覚えておきたい 同じ計算を使用してn個のファイル
copy.c.から
>> そして今、我々は変更するつもりだ ビットマップInfoヘッダー。
だから、我々は幅の両方を乗じている それ以来倍の高さ
それは我々がすることによってスケーリングしているものです。
我々は決定するつもりだ によるファイルの新規パディング
新しい幅を使用した。
そして、我々は新しいを決定するつもりだ 数を用いて画像の大きさ
しようとしている単一の行のバイト その行の画素の数である
倍画素の大きさに加え、 最後にパディングのバイト数
その行の、そしてすべてのことを乗じる 我々が持っている行の数によって。
だから、バイト数です 我々は我々の画像データを持っている。
>> Bf.Bfsizeは今の数になるだろう 私たちの画像ベータプラスのバイト
私たちのヘッダーのサイズ。
ビットマップファイルヘッダーのとてもプラスサイズ ビットマップ情報ヘッダのサイズ。
[OK]をクリックします。
だから、私たちのヘッダにこれだけです。
我々は、ファイル先頭を書き込むことができますし、 私たちのうちにInfoヘッダー
ファイル、および我々は良いよ。
>> 今では、実際に起動する時が来た ピクセルを書き込む
outファイルにデータ。
私たちは、サイズのバッファを宣言するつもりだ 古い幅RGBがトリプル、そして我々はしている
という変数を宣言するだろう 我々はするつもりされている行のしびれ、
当初は否定的な1に等しくなるように設定。
我々は、我々が使用してすることになるだろうことがわかります 何を追跡するために、その
我々は現在ロードされている行 このバッファへ。
[OK]をクリックします。
>> だから今、標準版とは異なり、 代わりに中で繰り返し処理の
ファイルは、各反復するために行っている outファイルの行と把握
内のファイルにどの行たちがしたい outファイルにこの行に配置します。
だからうちのすべての行を繰り返し処理 新しい高さを使用してファイルには、まずね
古い行を決定する予定 私たちがしている、これを使用するつもりだファイル
この電流を取ることによって何をするつもり 係数で割った行。
だから私たちに行を与えるために起こっている 私たちが望むの古いファイルで。
>> だから今の行のしびれが同じ古いyとしない場合は、 我々は、行を読むために必要があるとしている
私たちは、最新版の行バッファにしたいという。
では、どのようにそれをするつもりですか？
まず、把握するつもりだ で、その行を開始した位置
元のファイル。
だから、その位置があることを行っている 私たちのすべてのヘッダーと過去
もはや過去の古いY行。
>> だから何バイト 単一の行にありますか？
ここでも、トリプル倍、RGBの大き古い 幅プラス古い詰め物なので、それはです
単一の行のバイト数。
そして、我々は過去の古いY行をスキップしたいと思います。
だから我々は、F追求するつもりだし、我々はしている から開始するように設定を求めて使用して
ファイルの先頭。
我々は、この位置にシークFになるだろう ファイルでは、少なくとも私たちを入れて
私たちが望む行の先頭 私たちのバッファに読み込む。
>> 我々は、行を設定しようとしている 旧Yに等しいしびれ。
だから今であれば、我々ループバックし、我々がしたい 私たちのうちのファイルに同じ行を使用して、
その後、我々は読んでするつもりはない これで再び不必要。
だから本当に、行しびれがある ただ最適化。
>> 最後に、我々はに読み込まするつもりだ 現在の行の古い幅のRGBトリプル
私たちは、元のファイルから必要なこと。
だから今最新版の行からのピクセルが含まれています 我々がしたい、元のファイル
outファイルに書き込む。
だから今、すぐ上が好き、代わりに 古いファイルを反復処理する、我々は必要とする
それは、新しいファイルの行を反復処理する。
さてここで、代わりに繰り返し処理をすべて 旧画素の最新版並んでいる、
我々はすべてを反復処理したい この中で私たちの新しいファイル内のピクセル
特定の行。
>> なぜ我々はそれをしたいですか？
我々は我々がわからないことをここに見るので、 実際に、必ずしもすべてを使用して
元のファイルのピクセル。
我々は縮小している場合、我々は可能性があるため、 実際のピクセルをスキップしたい。
そして、我々はこのことを確認 -
Xファクターで割った -
我々はYと答えるところ密接にここにミラー 把握する係数で割ったもの
旧Y行目は、に対応している この新しいファイルのY行目。
>> 今、私たちはすべてを記述するつもりだ 古い行からこれらのピクセル
私たちの新しい行に。
我々は我々だけでする必要があることをやったら 私たちの行の末尾にパディングを入れる
そして我々は、ループバックだろうと継続 私たちの新しいファイルのすべての行。
最後に、私たちは私たちの古いを閉じる必要が ファイル、私たちの新しいファイルを閉じてから、リターン
ゼロすべてがうまく行ったからです。
>> 私の名前はロブであり、この凹部た。
>> [音楽再生]