XML保存图像(其他?)文件

来源:互联网 发布:域内禁止软件运行 编辑:程序博客网 时间:2024/05/15 04:08

工程中引用System.Runtime.Serialization.Formatters.Soap

 

    using namespace System::IO;
    using namespace System::Runtime::Serialization::Formatters::Soap;

//SoapFormatter类  以 SOAP 格式将对象或整个连接对象的图形序列化和反序列化。


      //保存为XML文件
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
             String^ FileName;
             FileStream^ OutFileStream;
             if(this->pictureBox1->Image == nullptr)
                 return;
             if(this->saveFileDialog1->ShowDialog() != System::Windows::Forms::DialogResult::OK)
                 return;
             try{
                
                 FileName = this->saveFileDialog1->FileName;
                 OutFileStream = gcnew FileStream(FileName, FileMode::Create, FileAccess::Write, FileShare::None);
                 SoapFormatter^ MySoap = gcnew SoapFormatter();
                 MySoap->Serialize(OutFileStream, this->pictureBox1->Image);
                 OutFileStream->Close();
                 this->pictureBox1->Image = nullptr;
                 MessageBox::Show("success", "", MessageBoxButtons::OK, MessageBoxIcon::Information);
             }
             catch(Exception^ eee){
                 MessageBox::Show(eee->Message, "", MessageBoxButtons::OK, MessageBoxIcon::Information);
             }
         }


         //显示XML图像文件

private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
             if(this->openFileDialog2->ShowDialog() != System::Windows::Forms::DialogResult::OK)
                 return;

             String^ FileName;
             Stream^ MyStream;
             SoapFormatter^ MySoap;

             try{
                 FileName = this->openFileDialog2->FileName;
                 MyStream = gcnew FileStream(FileName, FileMode::Open, FileAccess::Read, FileShare::None);
                 MySoap = gcnew SoapFormatter();
                 this->pictureBox1->Image = (Bitmap^)(MySoap->Deserialize(MyStream));
                 MyStream->Close();
             }
             catch(Exception^ eee){
                 MessageBox::Show(eee->Message, "", MessageBoxButtons::OK, MessageBoxIcon::Information);
             }
         }

原创粉丝点击