`
joy_cz
  • 浏览: 136788 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在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();
        }

调用时很简单,

AddTextToImg("me.jpg","小智");

一切OK了,感觉.net确实好强大,这些功能在Asp中可是奢侈品了,而在.Net环境中却能轻而易举的完成!
 
分享到:
评论

相关推荐

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

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

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

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

    asp.net为PDF添加水印

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

    asp.net如何上传文件

    在ASP.NET中,上传文件是一项常见的任务,通常用于让用户上传照片、文档或其他数据到服务器。在本场景中,我们讨论的是如何使用ASP.NET实现文件上传功能。以下将详细阐述这一过程,以及涉及到的关键知识点。 首先,...

    ASP.NET实验报告

    - 使用`System.IO.MemoryStream`和ASP.NET内置对象`Response`输出验证码图像。 ##### 实验二:登录模块设计 - **实验目的**:掌握界面设计、数据库连接和SQL语句的编写。 - **主要内容**: - 设计登录界面。 - ...

    Asp.net实现数字水印效果

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

    asp.net 验证码控件

    3. **在页面上显示验证码**:在HTML或ASP.NET标记中添加验证码控件,并在后端代码中为其提供生成的图像和值。 4. **验证用户输入**:当用户提交表单时,检查他们输入的验证码是否与存储的值匹配。如果不匹配,返回...

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

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

    asp.net 控件名称命名规范

    **控件命名规范**是指在ASP.NET应用程序中为各种控件赋予具有特定模式的名称。这种模式通常包括一个基于控件类型的前缀,后跟描述控件功能或位置的自定义部分。例如,“LblResults”代表了一个Label类型的控件,用于...

    asp.net 生成缩略图源码

    ### ASP.NET 生成缩略图源码解析 #### 一、概述 在Web开发中,图像处理是一项常见的需求,特别是对于需要展示大量图片的应用场景,如电商网站、社交媒体平台等。其中,生成缩略图是优化用户体验的重要手段之一。...

    Asp.Net(c#) 聊天室 (无数据库)

    在这个聊天室项目中,Web.config可能包含了ASP.NET运行环境的必要配置,例如ASP.NET版本、默认文档设置、以及可能的路由规则等。 【index.html】和【content.html】是HTML文件,构成了网站的用户界面。`index.html`...

    asp.net2.0的主题与皮肤技术

    3. **启用主题**:在Web.config配置文件中或者在特定的ASP.NET页面中设置`Page.Theme`属性,应用主题。 主题的优势在于: - **代码分离**:将表现层(样式)与内容(HTML)分离,便于维护和更新。 - **重用性**:...

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

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

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

    在ASP.NET Core中,为上传图片功能添加水印是一项常见的需求,这可能涉及到品牌标识、版权保护或个性化展示。在传统的.NET Framework中,我们可以利用HttpModules或HttpHandler来处理,但.NET Core不再支持`WebImage...

    asp.net button 绑定多个参数

    本文将详细讲解如何在ASP.NET中为一个Button控件绑定多个参数,并结合给定的代码示例来解析其工作原理。 首先,我们要明白在ASP.NET中,Button控件通常用于执行服务器端的操作。当用户点击按钮时,ASP.NET会引发一...

    .NET给图片加水印

    水印通常是指在图像上添加的半透明文字、图形或图案,用于表明所有权、版权信息或者增加视觉效果。在.NET中,我们可以利用GDI+(Graphics Device Interface Plus)库来处理图像并添加水印。 以下是一个简单的步骤...

    VB.net C#使用QRCode生產二維碼(包含網址,文字)

    在实际项目中,你可能还需要将生成的二维码图片显示在窗体或者网页上,这需要结合UI框架(如Windows Forms、WPF或ASP.NET)的图像控件来实现。 总结来说,通过理解和运用`ZXing.Net`库,VB.NET和C#开发者可以轻松地...

Global site tag (gtag.js) - Google Analytics