2010-11-09 4 views
0

Quelle est la meilleure façon d'enregistrer une image d'un contrôle?C# enregistrer une image d'un contrôle

actuellement je fais ceci:

 chart1.SaveImage(ms, ChartImageFormat.Bmp); 
     Bitmap bm = new Bitmap(ms); 

comment pourrais-je alors demander à l'utilisateur avec un windowsavedialogue et enregistrez le BMP à un endroit précis?

si ce n'est pas la meilleure façon de le faire s'il vous plaît suggérer une autre façon

+0

De quel type est 'ms'? –

+0

@richard: Je crois que MemoryStream –

Répondre

2

Daok a un nice answer pour cela.

Adaptation du code de Daok changer le filtre d'extension vous donne cette

chart1.SaveImage(ms, ChartImageFormat.Bmp); 
Bitmap bm = new Bitmap(ms); 

SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 
saveFileDialog1.InitialDirectory = Environment.SpecialFolder.MyDocuments; 
saveFileDialog1.Filter = "Your extension here (*.bmp)|*.*" ; 
saveFileDialog1.FilterIndex = 1; 

if(saveFileDialog1.ShowDialog() == DialogResult.OK) 
{ 
     bm.Save (saveFileDialog1.FileName);//Do what you want here 
} 
0

Vous pouvez les inviter à une SaveFileDialog qui leur permettrait de choisir le chemin et le fichier et le type de fichier dans lequel ils veulent sauver la fichier.

Ensuite, il vous suffit d'écrire le bmp dans un fichier

0

Pour ce faire:

SaveFileDialog dlg = new SaveFileDialog(); 
// ... add your dialog options 
DialogResult result = dlg.ShowDialog(owner); 

if(result == DialogResult.OK) 
{ 
    bm.Save(dlg.FileName); 
} 
Questions connexes