首页 > 代码库 > 给图片添加文字水印
给图片添加文字水印
public void ImageWaterMarkText(string filename, ImageFormat format) { Image originalImage = Image.FromFile(filename); Graphics g = Graphics.FromImage(originalImage); Font drawFont = new Font("Arial", 12, FontStyle.Regular, GraphicsUnit.Pixel);
//找到图片旋转中点 float xpos = originalImage.Width > originalImage.Height ? originalImage.Width - originalImage.Height/ 2 : originalImage.Width / 2; float ypos = originalImage.Width > originalImage.Height ? originalImage.Height / 2 : originalImage.Height - originalImage.Width / 2; var triggleLeg = (originalImage.Width > originalImage.Height ? originalImage.Height : originalImage.Width) / 3; ar gPath = new GraphicsPath(); gPath.AddLine(originalImage.Width - triggleLeg, originalImage.Height, originalImage.Width, originalImage.Height - triggleLeg); gPath.AddLine(originalImage.Width, originalImage.Height - triggleLeg, originalImage.Width, originalImage.Height); gPath.AddLine(originalImage.Width, originalImage.Height, originalImage.Width - triggleLeg, originalImage.Height); g.FillPath(new SolidBrush(Color.FromArgb(120, Color.Black)), gPath); g.TranslateTransform(xpos, ypos); g.RotateTransform(-45); SizeF crSize; string watermarkText;
watermarkText = "测试文字"; crSize = g.MeasureString("Chine LianTong", drawFont); g.DrawString(watermarkText, drawFont, new SolidBrush(Color.Red), -crSize.Width / 2, 250); watermarkText = DateTime.Now.ToString("Current: yyyy-MM-dd HH:mm"); g.DrawString(watermarkText, drawFont, new SolidBrush(Color.Red), -crSize.Width / 2, 250 + crSize.Height + 5); g.Dispose(); MemoryStream stream = new MemoryStream(); originalImage.Save(stream, format); originalImage.Dispose(); Image img = Image.FromStream(stream); img.Save(filename); img.Dispose(); }
给图片添加文字水印
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。