コード例 #1
0
        private static void AddImageToElement(OpenXmlElement element, EmuRectangle rect, string relationshipId)
        {
            rect = NormalizeToWidth(rect);

            // Define the reference of the image.
            var imgElement = GetImageElement(rect, relationshipId);

            element.AppendChild(new Run(imgElement));
        }
コード例 #2
0
        private static EmuRectangle NormalizeToWidth(EmuRectangle rect)
        {
            var k = (double)ImageNormalizedMaxWidth / rect.Width; //сколько раз старая ширина или высота содержиться в новой

            return(new EmuRectangle
            {
                Width = ImageNormalizedMaxWidth,
                Height = (long)(k * rect.Height)
            });
        }
コード例 #3
0
        private static Drawing GetImageElement(EmuRectangle rect, string relationshipId)
        {
            var element =
                new Drawing(
                    new DW.Inline(
                        new DW.Extent {
                Cx = rect.Width, Cy = rect.Height
            },
                        new DW.EffectExtent()
            {
                LeftEdge   = 0L,
                TopEdge    = 0L,
                RightEdge  = 0L,
                BottomEdge = 0L
            },
                        new DW.DocProperties()
            {
                Id   = 1U,
                Name = "Picture 1"
            },
                        new DW.NonVisualGraphicFrameDrawingProperties(
                            new A.GraphicFrameLocks()
            {
                NoChangeAspect = true
            }),
                        new A.Graphic(
                            new A.GraphicData(
                                new PIC.Picture(
                                    new PIC.NonVisualPictureProperties(
                                        new PIC.NonVisualDrawingProperties()
            {
                Id   = 0U,
                Name = "New Bitmap Image.jpg"
            },
                                        new PIC.NonVisualPictureDrawingProperties()),
                                    new PIC.BlipFill(
                                        new A.Blip(
                                            new A.BlipExtensionList(
                                                new A.BlipExtension()
            {
                Uri =
                    "{28A0092B-C50C-407E-A947-70E740481C1C}"
            })
                                            )
            {
                Embed            = relationshipId,
                CompressionState =
                    A.BlipCompressionValues.Print
            },
                                        new A.Stretch(
                                            new A.FillRectangle())),
                                    new PIC.ShapeProperties(
                                        new A.Transform2D(
                                            new A.Offset()
            {
                X = 0L, Y = 0L
            },
                                            new A.Extents()
            {
                Cx = 990000L, Cy = 792000L
            }),
                                        new A.PresetGeometry(
                                            new A.AdjustValueList()
                                            )
            {
                Preset = A.ShapeTypeValues.Rectangle
            }))
                                )
            {
                Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture"
            })
                        )
            {
                DistanceFromTop    = 0U,
                DistanceFromBottom = 0U,
                DistanceFromLeft   = 0U,
                DistanceFromRight  = 0U,
                EditId             = "50D07946"
            });

            return(element);
        }