C ++出力画像ファイル形式PPM

PPMについて

視覚的に結果を観察するために、あなたは時に出力グラフィック画像を学ぶ必要がある、とPPMは、使用する初心者のための理想的な最も簡単な画像フォーマットの一つです。
このようなファイルの何かのPPM内容:

最初の行が固定されP3、代表的な書き込みPPM形式は、モノクロ、グレースケール画像を表す、それぞれP1及びP2に対応するPGMとPBM形式に加えて、RGB画像です。
二つの整数の代わりに絵の2行目宽度高度
第3段目は、表し像素值范围、一般のように書く255各カラーチャンネル0-255の代表値。

次の3つの整数の各行は、各カラーチャンネル、トータルの画素値を表し宽度*高度行。
左上隅の順序と、から各行は、左から右へ、次いで充填から行ごとダウン。

C ++ PPMによってサンプルコード画像出力

int main()
{
    ofstream OutImage;
    OutImage.open("Image.ppm");
    int nx = 200;
    int ny = 100;
    OutImage << "P3\n" << nx << ' ' << ny << "\n255\n";
    for(int i = ny-1; i >= 0; i--)
    {
        for (int j = 0; j < nx; j++)
        {
            float r = (float)j / nx;
            float g = (float)i / ny;
            float b = 0.2;
            int ir = int(255.99 * r);
            int ig = int(255.99 * g);
            int ib = int(255.99 * b);
            OutImage << ir << ' ' << ig << ' ' << ib << '\n';
        }
    }
    return 0;
}

形式の画像フォーマットの画像ビューアをサポートするために必要な最後のPPMを表示するには、私はXnViewのを使用しています。
結果:

PPM形式を使用すると、出力より一般的なPNG形式にしたい場合は、あなたが機能をpngの神のマイロの電源を使用することができ、非常にシンプルで初心者のための簡単です。https://zhuanlan.zhihu.com/p/26525083

おすすめ

転載: www.cnblogs.com/LiveForGame/p/11768925.html