コンテンツにスキップ
ステージングサーバー
開発サーバー

ハウツー:各画像を固有のファイル名で保存する方法#

質問#

APIで各画像を「image_1.png」、「image_2.png」のように連番で保存するにはどうすればよいですか?

解決策#

このタスクを処理する方法はいくつかありますが、ここでは最も簡単な2つの方法を紹介します。

  • 次を使用して画像を保存します。 itoa() 画像番号を文字列に変換してユニークなファイル名を作成します。これは標準外のC++関数であるため、Linuxでは動作しない可能性があります。 itoa() は標準外のC++関数です。

    char buf[32];
    Pylon::String_t imageNumber;
    imageNumber = itoa(ptrGrabResult->GetImageNumber(), buf, 10);
    Pylon::String_t fileName = "image_" + imageNumber + ".png";
    CImagePersistence::Save(ImageFileFormat_Png, fileName, ptrGrabResult);
    

  • 次を使用して画像を保存します。 sprintf() 画像番号を文字列に変換してユニークなファイル名を作成します。これは移植性が高くLinuxでも動作しますが、コードの行数が1行増えます。

    char buf[32];
    Pylon::String_t imageNumber;
    sprintf(buf, "%d", ptrGrabResult->GetImageNumber());
    imageNumber = buf;
    Pylon::String_t fileName = "image2_" + imageNumber + ".png";
    CImagePersistence::Save(ImageFileFormat_Png, fileName, ptrGrabResult);
    

ナレッジ記事に戻る