2016-07-29 6 views
0

Qt GUIを使用して、選択した画像を自分のプログラムディレクトリに保存するためのC++関数をコーディングしようとしています。QPixmapをC++とQtを使ってフォルダに保存する方法は?

これまでのQPixmapオブジェクトで使用している「保存」機能では何も保存されず、理由がわかりません。ここで

は、コードは次のとおりです。

qImage = new QPixmap(path); 
QPixmap qImage2 = qImage->scaled(this->width(),this->height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); 

qImage2.toImage(); 

qImage2.save(QDir::currentPath()); 
qDebug()<<QDir::currentPath(); 

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

+0

プログラムに 'currentPath'への書き込み権限がないことがありますか?それはWindows上ですか?その場合は、例えば "C:/ User /.../ Downloads"に保存してみてください。あなたのコードには何の問題も見当たりませんが、スクリーン上での高速レンダリングのために特別に設計された 'QPixmap'を使うのは奇妙です。可能であれば、代わりに 'QImage'を使うべきです。 –

+0

これは実際にはファイル名が不足していただけですが、問題ではありませんでしたが、私はアクセス許可を書くことについて考えていなかったので、ありがとうございました。 – Elyss

+0

ダング、私は気づかなかった:) –

答えて

1
  • QDir::currentPath()現在の作業ディレクトリを返します。明らかに、ファイル名自体は指定されていません。単純に例えば、必要なファイル名を追加します。QDir::currentPath() + "/123.png"

  • QPixmap::toImage()QPixmapから変換QImageを返すconstの方法です。これは文字通りあなたのコードで役に立たないことはありません、それを削除するか、代わりにQImageを使用してください。

  • QDir::currentPath()ではありません。は必ずアプリケーション実行可能ディレクトリです。実行可能ディレクトリが必要な場合は、代わりにQCoreApplication::applicationDirPath()を使用してください。
  • また、Violet Giraffeで指摘されているように、書き込み権限の問題がある可能性があります。
+0

ありがとう!それは実際にそれをちょうどいいと固定した! – Elyss

関連する問題