我的图片处理方式(文字中对齐,两个图片重叠)

在这里插入图片描述
模板图片实现:
在这里插入图片描述

             Bitmap bmp = new Bitmap(open.FileName);
            Image CodeImage = Image.FromFile(Environment.CurrentDirectory+"\\二维码.jpg");
            Image PlayerPic = Image.FromFile(Environment.CurrentDirectory + "\\图片例句.jpg");
            Graphics g = Graphics.FromImage(bmp);
            String str = "我是中华人民共和国,正在参与*************************之星征集评选活动,谢谢您支持!";
            string PlayerName = "我们是比较好的公司";
            Font font = new Font("黑体", 35);
            SolidBrush sbrush = new SolidBrush(Color.White);
            SolidBrush PlayerNameSolid = new SolidBrush(Color.Blue);

            // Brush fontBrush = SystemBrushes.ControlText;
            StringFormat sf = new StringFormat(); 
            sf.Alignment = StringAlignment.Center;//横向中对整齐

            sf.LineAlignment = StringAlignment.Center;//垂直方向中对齐
            sf.FormatFlags = StringFormatFlags.LineLimit;//行宽限制(自动换行)
           

            Rectangle ActiveStangle = new  Rectangle(50,380,546,152) ;//活动名称
           
            Rectangle PlayerStangle = new Rectangle(160,221,245,66);//选手的范围

            Rectangle CodeStangle = new Rectangle(185, 615, 247, 247);//二维码范围
            g.DrawString(str, font, sbrush, ActiveStangle, sf);//加活动名称
            g.DrawString(PlayerName, font, PlayerNameSolid, PlayerStangle);//选手名称
            g.DrawImage(CodeImage,CodeStangle);


            Bitmap NewPicBitmap = new Bitmap(bmp.Width,bmp.Height);//创建新图片
            Graphics NewPic = Graphics.FromImage(NewPicBitmap);
            Rectangle PlayerPicStangle = new Rectangle(175, 65, 250, 188);//选手照片范围
            NewPic.DrawImage(PlayerPic, PlayerPicStangle);
            Rectangle DiejiaPicStangle = new Rectangle(0, 0, NewPicBitmap.Width,NewPicBitmap.Height);//整个两张照片合并
            NewPic.DrawImage(bmp, DiejiaPicStangle);

其中 newPicBitmap就是需求的。
特别注意:

            StringFormat sf = new StringFormat(); 
            sf.Alignment = StringAlignment.Center;//横向中对整齐

            sf.LineAlignment = StringAlignment.Center;//垂直方向中对齐
            sf.FormatFlags = StringFormatFlags.LineLimit;//行宽限制(自动换行)   

使用方法是:

            Rectangle ActiveStangle = new  Rectangle(50,380,546,152) ;//活动名称
            g.DrawString(str, font, sbrush, ActiveStangle, sf);//加活动名称
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值