本文實例介紹了C#圖片添加水印的實現方法,可以為圖片加文字水印,及判斷是否是圖片文件,分享給大家供大家參考,具體內容如下
效果圖:
以下是HovercWarter類的代碼:
using System.Drawing;using System.Drawing.Imaging;using System.IO;namespace HoverTreeBatch.HovercFrame{public class HovercWarter{public static Image AddTextToImg(Image image, string text){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);Image h_hovercImg = Image.FromStream(ms);g.Dispose();bitmap.Dispose();return h_hovercImg;}/// <summary>/// 根據文件頭判斷上傳的文件類型/// </summary>/// <param name="filePath">filePath是文件的完整路徑 </param>/// <returns>返回true或false</returns>public static bool IsPicture(string filePath){try{FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);BinaryReader reader = new BinaryReader(fs);string fileClass;byte buffer;buffer = reader.ReadByte();fileClass = buffer.ToString();buffer = reader.ReadByte();fileClass += buffer.ToString();reader.Close();fs.Close();if (fileClass == "255216" || fileClass == "7173" || fileClass == "13780" || fileClass == "6677")//何問起 hovertree.com//255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar {return true;}else{return false;}}catch{return false;}}}}
以上就是C#實現圖片添加水印的關鍵性代碼,希望對大家學習C#程序設計有所幫助。
新聞熱點
疑難解答