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中为图像添加版权信息的方法 随着互联网的发展,数字版权保护变得越来越重要。在许多场景下,比如电子商务网站、在线画廊等,都需要为上传的图像添加版权信息或者水印,以确保原创作者的权利不受侵害...
在***中为图像加入水印并保存为Jpg格式涉及的主要知识点包括以下几个方面: ***基础:***是一种用于构建动态网站和网络应用的服务器端技术。它支持多种编程语言,其中C#是主要的编程语言之一。 2. System.Drawing...
在ASP.NET中为PDF添加水印是一项常见的任务,特别是在创建电子文档或报告时,为了保护版权或标明机密性,通常会使用水印。本文将详细介绍如何使用ASP.NET技术为PDF文件添加水印。 首先,我们需要理解PDF水印的基本...
在ASP.NET中,上传文件是一项常见的任务,通常用于让用户上传照片、文档或其他数据到服务器。在本场景中,我们讨论的是如何使用ASP.NET实现文件上传功能。以下将详细阐述这一过程,以及涉及到的关键知识点。 首先,...
- 使用`System.IO.MemoryStream`和ASP.NET内置对象`Response`输出验证码图像。 ##### 实验二:登录模块设计 - **实验目的**:掌握界面设计、数据库连接和SQL语句的编写。 - **主要内容**: - 设计登录界面。 - ...
综上所述,Asp.net实现数字水印效果涉及到了Web开发、图像处理以及版权保护等多个领域的知识,通过合理利用Asp.net的特性以及第三方库,可以有效地实现在Web应用中为图像添加安全且美观的水印。
3. **在页面上显示验证码**:在HTML或ASP.NET标记中添加验证码控件,并在后端代码中为其提供生成的图像和值。 4. **验证用户输入**:当用户提交表单时,检查他们输入的验证码是否与存储的值匹配。如果不匹配,返回...
在这个场景中,我们关注的是如何在ASP.NET环境中为网站图片添加水印,以实现对图片的版权保护或者品牌宣传。水印可以是文字、图像或两者结合,它们被叠加在原图上,通常位于图像的角落或中央,不影响主要视觉内容,...
**控件命名规范**是指在ASP.NET应用程序中为各种控件赋予具有特定模式的名称。这种模式通常包括一个基于控件类型的前缀,后跟描述控件功能或位置的自定义部分。例如,“LblResults”代表了一个Label类型的控件,用于...
### ASP.NET 生成缩略图源码解析 #### 一、概述 在Web开发中,图像处理是一项常见的需求,特别是对于需要展示大量图片的应用场景,如电商网站、社交媒体平台等。其中,生成缩略图是优化用户体验的重要手段之一。...
在这个聊天室项目中,Web.config可能包含了ASP.NET运行环境的必要配置,例如ASP.NET版本、默认文档设置、以及可能的路由规则等。 【index.html】和【content.html】是HTML文件,构成了网站的用户界面。`index.html`...
3. **启用主题**:在Web.config配置文件中或者在特定的ASP.NET页面中设置`Page.Theme`属性,应用主题。 主题的优势在于: - **代码分离**:将表现层(样式)与内容(HTML)分离,便于维护和更新。 - **重用性**:...
【ASP.NET编程知识】.NET生成水印更好的方法实例代码主要介绍了两种在.NET环境中为图片添加水印的技术,包括基于System.Drawing.Image的传统方法和利用Direct2D/WIC/DirectWrite的高级方法。这两种方法各有特点,...
在ASP.NET Core中,为上传图片功能添加水印是一项常见的需求,这可能涉及到品牌标识、版权保护或个性化展示。在传统的.NET Framework中,我们可以利用HttpModules或HttpHandler来处理,但.NET Core不再支持`WebImage...
本文将详细讲解如何在ASP.NET中为一个Button控件绑定多个参数,并结合给定的代码示例来解析其工作原理。 首先,我们要明白在ASP.NET中,Button控件通常用于执行服务器端的操作。当用户点击按钮时,ASP.NET会引发一...
水印通常是指在图像上添加的半透明文字、图形或图案,用于表明所有权、版权信息或者增加视觉效果。在.NET中,我们可以利用GDI+(Graphics Device Interface Plus)库来处理图像并添加水印。 以下是一个简单的步骤...
在实际项目中,你可能还需要将生成的二维码图片显示在窗体或者网页上,这需要结合UI框架(如Windows Forms、WPF或ASP.NET)的图像控件来实现。 总结来说,通过理解和运用`ZXing.Net`库,VB.NET和C#开发者可以轻松地...