Bonsoir à tous,

Je nage un peu.

J'ai écrit un bout de code qui m'affiche une image venant d'un fichier dans une PictureBox.

Voici le bout de code associé au bouton d'ouverture du fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
private: System::Void Ouvrir_Click(System::Object^  sender, System::EventArgs^  e) {
		OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;
		openFileDialog1->InitialDirectory = "../images";
		openFileDialog1->Filter = "jpg files (*.jpg)|*.jpg";
		if (openFileDialog1->ShowDialog(this) == Windows::Forms::DialogResult::OK){
 
		pictureBox1->Image = Image::FromFile (openFileDialog1->FileName);
		}
}
Cela fonctionne exactement comme je veux et c'est assez simple

Maintenant, je voudrais pouvoir enregistrer le contenu de la PictureBox dans un autre fichier, j'ai vu qu'il existe une fonction Image::Save.
Donc bête et discipliné, j'ai essayé la méthode symétrique, mais je récupère un message "Appel non conforme de la fonction Image::Save"

Voici le bout de code qui ne fonctionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
private: System::Void Enregistrer_Click(System::Object^  sender, System::EventArgs^  e) {
		SaveFileDialog^ saveFileDialog1 = gcnew SaveFileDialog;
		saveFileDialog1->Filter = "jpg files (*.jpg)|*.jpg";
		if (saveFileDialog1->ShowDialog(this) == Windows::Forms::DialogResult::OK){
		pictureBox1->Image = Image::Save (saveFileDialog1->FileName);
				}
		 }
C'est la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
pictureBox1->Image = Image::Save (saveFileDialog1->FileName);
qui me crée des soucis.

Bonne soirée et merci d'avance.