当前位置:网站首页 / C#开发 / 正文

AY xceed docx DEMO 自己笔记2 - 图片

时间:2019年09月24日 | 作者 : aaronyang | 分类 : C#开发 | 浏览: 457次 | 评论 1

DEMO9 图片的操作

        public void Demo9()
        {
            using (var document = DocX.Create(demooutputroot + @"添加图片.docx"))
            {

                var image = document.AddImage(demoroot + @"1.png");
                var picture = image.CreatePicture(100, 100);
                var p = document.InsertParagraph("这是我的头像:");
                p.AppendPicture(picture);
                p.SpacingAfter(30);

                var rotatedPicture = image.CreatePicture(48, 48);
                rotatedPicture.Rotation = 45;
                var p2 = document.InsertParagraph("旋转45度后:");
                p2.AppendPicture(rotatedPicture);
                p2.SpacingAfter(30);


                var streamImage = document.AddImage(new FileStream(demoroot + @"1.png", FileMode.Open, FileAccess.Read));
                var pictureStream = streamImage.CreatePicture(32, 32);
                var p3 = document.InsertParagraph("FileStream方式读取:");
                p3.AppendPicture(pictureStream);

                document.Save();
            }
        }

image.png

DEMO10 文本环绕图片

   public void Demo10()
        {
            using (var document = DocX.Create(demooutputroot + @"文本环绕图片.docx"))
            {
                document.InsertParagraph("文本换行").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center;

                var image = document.AddImage(demoroot + @"1.png");
                var picture = image.CreatePicture(48, 48);
                picture.WrappingStyle = PictureWrappingStyle.WrapSquare;
                picture.WrapText = PictureWrapText.bothSides;

                picture.HorizontalAlignment = WrappingHorizontalAlignment.CenteredRelativeToPage;
       
                picture.VerticalOffsetAlignmentFrom = WrappingVerticalOffsetAlignmentFrom.Paragraph;
                picture.VerticalOffset = 22d;

                picture.DistanceFromTextLeft = 5d;
                picture.DistanceFromTextRight = 5d;

                var p = document.InsertParagraph("我是快乐的1991后,2011年12月毕业于合肥家里蹲自学。现在居住在安徽省合肥市。  掌握的技能:  精通C#,熟练开发ASP.NET,ASP.NET MVC项目(前后端,数据库设计)开发流程和可单独开发,熟练敏捷团队开发  熟练使用C#设计模式  掌握谷歌浏览器插件开发,Visual Studio SDK插件开发  熟练EntityFramework,Subsonic,基本会使用NHibernate等ORM工具  熟练三层架构,MVC架构,SOA架构,会应用设计模式解决问题  熟练JavaScript, jQuery,会使用很多jQuery插件和前端框架,响应式开发等。例如EasyUI,MiniUI,jQueryUI,熟练应用Ajax技术,WebService,WCF,会使用nodejs写通讯服务  熟练数据库各种问题数据库设计,擅长使用Mysql,MSSQL2005+ ,会操作redis和memcached,会根据需求决定是否使用nosql,例如mongodb  熟练使用数据库方面的视图,触发器,存储过程,多表查询和数据库优化,SQL优化  熟练使用PhotoShop处理图片,设计UI,做动画  精通WPF,能为公司需要什么技术而能很快的掌握技术,为公司服务,技术服务业务。最厉害技能,遇到不会的问题会主动上网找答案,自学能力强。  会应用大数据 Memcached分布式缓存或者redis缓存和基于.net的缓存  应用基于百度地图的APP开发,例如附近商家,导航等,OpenMap  HighChart 最新4.0.1版本 报表使用,各种统计图,已经解决多种统计  应用Unity3.0 IOC工具应用到项目中,增强项目可维护性,降低项目之间的依赖");
                p.Alignment = Alignment.both;
                p.InsertPicture(picture);
                p.SpacingAfter(30);


                var imageW = document.AddImage(demoroot + @"1.png");
                var pictureW = imageW.CreatePicture(80, 100);
                pictureW.WrappingStyle = PictureWrappingStyle.WrapThrough;
                pictureW.WrapText = PictureWrapText.bothSides;
                pictureW.HorizontalAlignment = WrappingHorizontalAlignment.CenteredRelativeToPage;
                pictureW.VerticalOffsetAlignmentFrom = WrappingVerticalOffsetAlignmentFrom.Page;
                pictureW.VerticalOffset = 255d;
       
                var pts = new List<Point>();
                pts.Add(new Point(0, 0));
                pts.Add(new Point(4027, 21477));
                pts.Add(new Point(8695, 21353));
                pts.Add(new Point(10800, 7282));
                pts.Add(new Point(13912, 21847));
                pts.Add(new Point(18031, 21847));
                pts.Add(new Point(21875, 0));
                pts.Add(new Point(18305, 0));
                pts.Add(new Point(15651, 16539));
                pts.Add(new Point(12631, 0));
                pts.Add(new Point(9336, 0));
                pts.Add(new Point(6590, 16539));
                pts.Add(new Point(3661, 0));
                pts.Add(new Point(0, 0));
                pictureW.WrapPolygon = pts;

                var p2 = document.InsertParagraph("我是快乐的1991后,2011年12月毕业于合肥家里蹲自学。现在居住在安徽省合肥市。  掌握的技能:  精通C#,熟练开发ASP.NET,ASP.NET MVC项目(前后端,数据库设计)开发流程和可单独开发,熟练敏捷团队开发  熟练使用C#设计模式  掌握谷歌浏览器插件开发,Visual Studio SDK插件开发  熟练EntityFramework,Subsonic,基本会使用NHibernate等ORM工具  熟练三层架构,MVC架构,SOA架构,会应用设计模式解决问题  熟练JavaScript, jQuery,会使用很多jQuery插件和前端框架,响应式开发等。例如EasyUI,MiniUI,jQueryUI,熟练应用Ajax技术,WebService,WCF,会使用nodejs写通讯服务  熟练数据库各种问题数据库设计,擅长使用Mysql,MSSQL2005+ ,会操作redis和memcached,会根据需求决定是否使用nosql,例如mongodb  熟练使用数据库方面的视图,触发器,存储过程,多表查询和数据库优化,SQL优化  熟练使用PhotoShop处理图片,设计UI,做动画  精通WPF,能为公司需要什么技术而能很快的掌握技术,为公司服务,技术服务业务。最厉害技能,遇到不会的问题会主动上网找答案,自学能力强。  会应用大数据 Memcached分布式缓存或者redis缓存和基于.net的缓存  应用基于百度地图的APP开发,例如附近商家,导航等,OpenMap  HighChart 最新4.0.1版本 报表使用,各种统计图,已经解决多种统计  应用Unity3.0 IOC工具应用到项目中,增强项目可维护性,降低项目之间的依赖");
                p2.FontSize(8d);
                p2.Alignment = Alignment.both;
                p2.InsertPicture(pictureW);
                p2.SpacingAfter(30);

                document.Save();
            }
        }

The wrap polygon  is used when the Picture's WrappingStyle property is set to WrapTight or WrapThrough

14.gif


段落Paragraph有个Pictures属性,可以拿到段落中的图片,下面是copy图片的核心代码

  var firstPicture = p.Pictures.FirstOrDefault();

        if( firstPicture != null )

        {

          p2.AppendPicture( firstPicture );

        }



DEMO11 修改图片

比如水印

   /// <summary>
        /// 修改图片
        /// </summary>
        public void Demo11()
        {
            Demo9();
            using (var document = DocX.Load(demooutputroot + @"添加图片.docx"))
            {

                document.InsertParagraph(0, "修改图片", false).FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center;


                var image = document.Images.FirstOrDefault();
                if (image != null)
                {
                    Bitmap bitmap;
                    using (var stream = image.GetStream(FileMode.Open, FileAccess.ReadWrite))
                    {
                        bitmap = new Bitmap(stream);
                    }
                    var graphic = Graphics.FromImage(bitmap);
                    if (graphic != null)
                    {

                        graphic.DrawString("AY", new System.Drawing.Font("Arial Bold", 12), Brushes.Red, new PointF(0f, 10f));
                        graphic.FillEllipse(Brushes.Blue, 30, 5, 10, 10);
                        bitmap.Save(image.GetStream(FileMode.Create, FileAccess.Write), ImageFormat.Png);
                    }
                }
                document.SaveAs(demooutputroot + @"修改图片后的demo.docx");

            }

        }

image.png


 AYUI       www.ayjs.net      AY         杨洋原创编写,请不要转载谢谢



 AYUI       www.ayjs.net      AY         杨洋原创编写,请不要转载谢谢







推荐您阅读更多有关于“word导出,”的文章

猜你喜欢

已有1位网友发表了看法:

1#访客  2019-12-19 00:17:16 回复该评论

请问你的word使用的是那个版本的?


发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

抖音号:wpfui,可以看到我的很多作品效果

AYUI8社区版Github地址:前往获取

作者:杨洋(AaronYang简称AY,安徽六安人)目前是个人,还没公司AY唯一QQ:875556003和AY交流

高中学历,2015年1月17日开始,兴趣学习研究WPF,目前工作繁忙,不接任何活

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费.AY主要靠卖技术服务挣钱

不是从我处购买的ayui7源码,我不提供任何技术服务,如果你举报从哪里买的,我可以帮你转正为我的客户,并送demo

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

兼容XP到win10,vs2015/2017/2019,最新AYUI:7.6.5.5

vs2015 企业版密钥HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

vs2017 企业版密钥NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

标签列表