標籤:jquery ui web前端 前端 架構
using System.Drawing;using System.IO;using System.Drawing.Imaging; private void AddTextToImg(string fileName,string text) { if(!File.Exists(MapPath(fileName))) { throw new FileNotFoundException("The file don‘t exist!"); } if( text == string.Empty ) { return; } //還需要判斷檔案類型是否為映像類型,這裡就不贅述了,前端架構分享 System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName)); Bitmap bitmap = new Bitmap(image,image.Width,image.Height); Graphics g = Graphics.FromImage(bitmap); float fontSize = 12.0f; //字型大小 float textWidth = text.Length*fontSize; //文本的長度 //下面定義一個矩形地區,以後在這個矩形裡畫上白底黑字 float rectX = 0; float rectY = 0; float rectWidth = text.Length*(fontSize+8); float rectHeight = fontSize+8; //聲明矩形域 RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight); Font font = new Font("宋體",fontSize); //定義字型 Brush whiteBrush = new SolidBrush(Color.White); //白筆刷,畫文字用 Brush blackBrush = new SolidBrush(Color.Black); //黑筆刷,畫背景用 g.FillRectangle(blackBrush,rectX,rectY,rectWidth,rectHeight); g.DrawString(text,font,whiteBrush,textArea); MemoryStream ms = new MemoryStream( ); //儲存為Jpg類型 bitmap.Save(ms,ImageFormat.Jpeg); //輸出處理後的映像,這裡為了示範方便,我將圖片顯示在頁面中了 Response.Clear(); Response.ContentType = "image/jpeg"; Response.BinaryWrite( ms.ToArray() ); g.Dispose(); bitmap.Dispose(); image.Dispose(); }
調用時很簡單,前端UI分享
AddTextToImg("me.jpg","程式人生http://www.iteye.com/topic/1132907/");
一切OK了,感覺.net確實好強大,這些功能在Asp中可是奢侈品了,而在.Net環境中卻能輕而易舉完成!