7

次の問題があります。ウィジェットを取得して画像として保存したい。png、jpeg、tiffで保存したいです。私は次のコードを書きました:

QString s =  QFileDialog::getSaveFileName(this, "Save as", "Choose a filename", "PNG(*.png);; TIFF(*.tiff *.tif);; JPEG(*.jpg *.jpeg)");

std::string current_string = s.toLocal8Bit().constData();
//current_string = current_string + ".png";

char * buffer = new char[current_string.length()];
std::string temp = buffer;
char* temp2 = &temp[0];
strcpy(buffer, current_string.c_str());

char* pch = strtok (temp2,".");
pch = strtok (NULL, ".");


if(!QPixmap::grabWindow(m_widget->winId()).save(buffer,pch))
{
    QMessageBox::warning(this, "File could not be saved", "ok", QMessageBox::Ok);
}

これは私のラップトップでうまく動作します。Visual Studio セットアップを作成すると、ラップトップでも正常に動作しますが、別の PC にインストールすると、png 形式は正常に動作します (正しい画像が保存されます) が、jpeg と tif は保存できません。その後、別の PC で試してみましたが、プロジェクト ファイルを使用して Visual Studio で直接試しました。私のPCなどのすべてのプロジェクト設定がありますが、jpegとtifが機能しません。PNG は機能しますが、その PC には白い画像しか保存されません。さらに、インストールファイルとその同じPNG =白い画像も試しました。

誰でも私を助けることができますか?

4

2 に答える 2