このブログを検索

2019年11月11日月曜日

【C++】 PNGファイル作成

【C++】 PNGファイル作成
(2019年11月11日)


■使用ソフト
・Visual Studio Community 2019


■言語
・C/C++


■Windows SDK バージョン
・10.0.17763.0
 ※Windows SDK バージョンの変更方法


■手順
1.https://github.com/nothings/stb/blob/master/stb_image_write.h
アクセスし、「Raw」を右クリックし、「名前を付けてリンク先を保存」を選択

2.コンソールアプリを作成する。
新しいプロジェクトの作成→コンソールアプリ→プロジェクト名と場所を指定して作成

3.プロジェクトフォルダ内にダウンロードした「stb_image_write.h」を入れる。

4.「ヘッダーファイル」→「追加」→「既存の項目」の順に選択

5.「stb_image_write.h」を選択し「追加」する。

6.C++ファイル(.cpp)を以下のとおり変更する。

#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image_write.h"

#include <vector>

int main()
{
    //初期設定
    int iPixelWidth = 300;//PNGファイルの幅(ピクセル単位)
    int iPixelHeight = 300;//PNGファイルの高さ(ピクセル単位)
    std::vector<unsigned char> vecData(iPixelWidth * iPixelHeight * 4);

    //イメージデータ格納
    for (int j = 0; j < iPixelHeight; j++)
    {
        for (int i = 0; i < iPixelWidth; i++)
        {
            int iP = (j * iPixelWidth + i) * 4;

            vecData[iP] = 0;//R
            vecData[iP + 1] = 150;//G
            vecData[iP + 2] = 0;//B
            vecData[iP + 3] = 255;//A
        }
    }

    stbi_write_png("image.png", iPixelWidth, iPixelHeight, 4, &vecData.front(), 0);

    return 0;
}

7.実行結果
PNGファイルが作成される(image.png)

4.参考文献
C++で超簡単に画像出力+サンプル

CG系ライブラリ特集

0 件のコメント:

コメントを投稿