六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

图片上绘制文字换行处理

[复制链接]

升级  0.67%

58

主题

58

主题

58

主题

举人

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2013-1-26 16:37:20 | 显示全部楼层 |阅读模式
protected void Page_Load(object sender, EventArgs e)        {            CreatePicture("2010", "我是中国人们的儿子我深深的爱着我的祖国和人民", "我是中国人们的儿子我深深的爱着我的祖国和人民", @"C:\Users\wangyanfei\Pictures\1277702967234.jpg");        }        public void CreatePicture(string year, string chubpc, string kanm, string imgUrl)        {            System.Drawing.Image image = System.Drawing.Image.FromFile(imgUrl);//获取图片路径            Bitmap bmpImage = new Bitmap(image, 173, 228);            Graphics graphic = Graphics.FromImage(bmpImage);                     Brush whiteBrush = new SolidBrush(Color.White);   //白笔刷,画文字用            Brush blackBrush = new SolidBrush(Color.Black);   //黑笔刷,画文字用                      using (Font font1 = new Font("宋体", 12, FontStyle.Bold, GraphicsUnit.Point))            {                RectangleF rectF1 = new RectangleF(20, 80, 153, 50);                graphic.DrawString(kanm, font1, blackBrush, rectF1);//建立一个矩形 让其在里面换行                RectangleF rectF2 = new RectangleF(120, 200, 53, 50);                graphic.DrawString(year, font1, blackBrush,  rectF2);                RectangleF rectF3 = new RectangleF(120, 180, 53, 50);                graphic.DrawString(chubpc, font1, blackBrush,  rectF3);            }                      MemoryStream ms = new MemoryStream();            bmpImage.Save("D:/1.jpg", ImageFormat.Jpeg);            //保存为Jpg类型            //return ms;        } string text1 = "Draw text in a rectangle by passing a RectF to the DrawString method.";using (Font font1 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)){    RectangleF rectF1 = new RectangleF(30, 10, 100, 122);    e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1);    e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1));} string text2 = "Draw text in a rectangle by passing a RectF to the DrawString method.";using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)){    Rectangle rect2 = new Rectangle(30, 10, 100, 122);    // Specify the text is wrapped.    TextFormatFlags flags = TextFormatFlags.WordBreak;    TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags);    e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2));}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表