title: Insert an image into word document using open xml and C#
body: <p>I have the following code trying to insert an image into a word document using open xml:</p>
  
  <pre><code>private void AddImageToBody(ImagePart imagePart)
  {
      // Define the reference of the image.
      var element =
           new Drawing(
               new Inline(
                   new Extent() { Cx = ConvertToEmu(640), Cy = ConvertToEmu(480) },
                   new EffectExtent()
                   {
                       LeftEdge = 0L,
                       TopEdge = 0L,
                       RightEdge = 0L,
                       BottomEdge = 0L
                   },
                   new DocProperties()
                   {
                       Id = (UInt32Value)1U,
                       Name = "Picture 1"
                   },
                   new NonVisualGraphicFrameDrawingProperties(
                       new GraphicFrameLocks() { NoChangeAspect = true }
                   ),
                   new Graphic(
                       new GraphicData(
                           new Picture(
                               new NonVisualPictureProperties(
                                   new NonVisualDrawingProperties()
                                   {
                                       Id = (UInt32Value)0U,
                                       Name = "New Bitmap Image.jpg"
                                   },
                                   new NonVisualPictureDrawingProperties()),
                               new BlipFill(
                                   new Blip(
                                       new BlipExtensionList(
                                           new BlipExtension()
                                           {
                                               Uri = "{28A0092B-C50C-407E-A947-70E740481C1C}"
                                           }
                                       )
                                   )
                                   {
                                       Embed = mainpart.GetIdOfPart(imagePart),
                                       CompressionState = BlipCompressionValues.Print
                                   },
                                   new Stretch(
                                       new FillRectangle()
                                   )
                               ),
                               new ShapeProperties(
                                   new Transform2D(
                                       new Offset() { X = 0L, Y = 0L },
                                       new Extents() { Cx = ConvertToEmu(640), Cy = ConvertToEmu(480) }
                                   ),
                                   new PresetGeometry(
                                       new AdjustValueList()
                                   ) { Preset = ShapeTypeValues.Rectangle }
                               )
                           )
                       ) { Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture" }
                   )
               )
               {
                   DistanceFromTop = (UInt32Value)0U,
                   DistanceFromBottom = (UInt32Value)0U,
                   DistanceFromLeft = (UInt32Value)0U,
                   DistanceFromRight = (UInt32Value)0U
               });
  
              // Append the reference to body, the element should be in a Run.
              body.AppendChild(new Paragraph(new Run(element)));
          }
  </code></pre>
  
  <p>Although I am inserting an image, the image being inserted appears as blank and not of the correct width and height.</p>
  
  <p>Any suggestions?</p>