模板图片实现:
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);//加活动名称