2011-03-17 1 views
0

Comment insérer une image (située quelque part sur mon disque dur) dans un contrôle de contenu d'image à l'aide d'Open XML SDK? Cela devrait être une tâche facile, mais étonnamment je ne pouvais pas trouver d'exemples ou de réponses sur le web.Insérer dans le contrôle du contenu de l'image avec Open XML

Toute aide serait la bienvenue.

Merci,

Victor

Répondre

0

Bien que je ne peux pas vous donner une réponse définitive (je n'ai rien fait avec OpenXML pendant environ un an), je suggère d'avoir un oeil à la code source du projet DocX sur codeplex. D'après ce dont je me souviens, ils ont un support pour les photos.

3

J'ai eu le même problème et la même frustration devant le manque d'exemples, mais j'ai été capable de trouver quelque chose qui a fonctionné pour moi. Fondamentalement, je diffuser une image dans un byte[], enregistrer ce flux en tant que .png, et prendre ce byte[].ToArray() dans un élément XMLWriter.WriteBase64 qui est lié à un contrôle de contenu d'image.

var pic = Image.FromFile(server.MapPath(@"images/someImage.png")); 
var picStream = new MemoryStream {Position = 0}; 
pic.Save(picStream, System.Drawing.Imaging.ImageFormat.Png); 
var picBytes = picStream.ToArray(); 

writer.WriteStartElement("RiskScoreImage"); 
writer.WriteBase64(picBytes, 0, picBytes.Length); 
writer.WriteEndElement(); 

picStream.Flush(); 
picStream.Close(); 
pic.Dispose(); 
Questions connexes