`

在Asp.net中为图像加入水印信息

阅读更多
复制代码
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环境中却能轻而易举的完成!

分享到:
评论

相关推荐

    asp.net为PDF添加水印

    在ASP.NET中为PDF添加水印是一项常见的任务,特别是在创建电子文档或报告时,为了保护版权或标明机密性,通常会使用水印。本文将详细介绍如何使用ASP.NET技术为PDF文件添加水印。 首先,我们需要理解PDF水印的基本...

    在Asp.net中为图像加入版权信息.doc

    ### 在ASP.NET中为图像添加版权信息的方法 随着互联网的发展,数字版权保护变得越来越重要。在许多场景下,比如电子商务网站、在线画廊等,都需要为上传的图像添加版权信息或者水印,以确保原创作者的权利不受侵害...

    在Asp.net中为图像加入水印信息并保存为Jpg类型

    在***中为图像加入水印并保存为Jpg格式涉及的主要知识点包括以下几个方面: ***基础:***是一种用于构建动态网站和网络应用的服务器端技术。它支持多种编程语言,其中C#是主要的编程语言之一。 2. System.Drawing...

    asp.net网站图片打水印代码

    在这个场景中,我们关注的是如何在ASP.NET环境中为网站图片添加水印,以实现对图片的版权保护或者品牌宣传。水印可以是文字、图像或两者结合,它们被叠加在原图上,通常位于图像的角落或中央,不影响主要视觉内容,...

    Asp.net实现数字水印效果

    综上所述,Asp.net实现数字水印效果涉及到了Web开发、图像处理以及版权保护等多个领域的知识,通过合理利用Asp.net的特性以及第三方库,可以有效地实现在Web应用中为图像添加安全且美观的水印。

    .NET给图片加水印

    在ASP.NET中,你可以在服务器端代码(如C#的Page_Load事件)中执行上述步骤,然后将处理后的图像返回给客户端浏览器。此外,如果需要处理大量图片,可以考虑使用异步处理或者多线程来提高性能。 总结起来,给图片...

    如何在ASP.NET Core中给上传图片功能添加水印实例代码

    总结起来,在ASP.NET Core中为上传图片添加水印,你需要: 1. 接收上传的文件(`IFormFile`)。 2. 将文件内容读入内存流。 3. 使用`Image.FromStream`创建图像对象。 4. 创建`Graphics`对象,并用它在图像上绘制...

    【ASP.NET编程知识】.NET生成水印更好的方法实例代码.docx

    【ASP.NET编程知识】.NET生成水印更好的方法实例代码主要介绍了两种在.NET环境中为图片添加水印的技术,包括基于System.Drawing.Image的传统方法和利用Direct2D/WIC/DirectWrite的高级方法。这两种方法各有特点,...

    C#.NET 图片水印添加代码

    【C#.NET 图片水印添加代码】是一个用于在C#.NET环境中为图像添加水印的类库。这个代码示例提供了将一个图像(水印)叠加到另一个图像(源图像)上的功能,同时允许调整水印的位置和透明度。以下是对这个代码的详细...

    FreeTextBox3.X图片加水印源码

    FreeTextBox 是一个流行的开源ASP.NET富文本编辑器控件,其3.x版本提供了更丰富的功能和改进。在本文中,我们将深入探讨如何在FreeTextBox 3.x中为上传的图片添加水印,以及如何通过源码修改实现这一功能。这个过程...

    网页的中的图片添加水印

    本文将详细介绍一种通过自定义类在ASP.NET项目中实现图片水印的方法。 #### 一、环境搭建与配置 首先,在项目的`App_Data`目录下添加一个类文件,用于处理图片水印。为了确保类可以被正确调用,需要在`Web.config`...

Global site tag (gtag.js) - Google Analytics