在ASP.NET 中为图像加入版权信息

asp.net

你试过用.net来进行图像处理吗?公司最近进行的一个项目,数据库中存入了很多的产品图片,可是都没有版权信息,当时客户要求将所有的图片打上公司名称?这时候,你该怎么办?
  虽说我还是江湖嫩手,可是对这一问题的解决方案还是很多,归结如下:
  1.使用图形处理软件,如Photoshop等,利用其批处理功能,可以实现这个功能,可是每次数据录入员加进图片的话,还得加工一下图片,很麻烦的,看录入员大姐平常对我很不错,每日笑脸相迎,能忍心折磨她么?这个方案否决了。

  2.使用.net行云流水般的图像处理,当录入员大姐上传图片的时候,就自动加上公司标记,这样岂不更好,嗯,这想法不错,可以进入2005最佳解决方案第万强了,好说干就干。

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","Family.Man");

  这些功能在Asp中可是奢侈品了,而在.Net环境中却能轻而易举的完成!

时间: 2024-10-29 18:24:18

在ASP.NET 中为图像加入版权信息的相关文章

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

asp.net   你试过用.net来进行图像处理吗?公司最近进行的一个项目,数据库中存入了很多的产品图片,可是都没有版权信息,当时客户要求将所有的图片打上公司名称?这时候,你该怎么办? 虽说我还是江湖嫩手,可是对这一问题的解决方案还是很多,归结如下: 1.使用图形处理软件,如Photoshop等,利用其批处理功能,可以实现这个功能,可是每次数据录入员加进图片的话,还得加工一下图片,很麻烦的,看录入员大姐平常对我很不错,每日笑脸相迎,能忍心折磨她么?这个方案否决了. 2.使用.net行云流水般的

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

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.Em

asp文章中随机插入网站版权文字的实现代码_应用技巧

当然,如果你的网站文章中有图片,那么请记得一定要打上自己的LOGO,而且这个LOGO不要固定在这些图片的某个角落里,一定要随机出现在图片的任意位置,做到神出鬼没,让采集者感慨:对方网站站标真是变幻莫测,防不胜防啊--     切入正题.我们怎么才能在自己的文章中随机插入版权文字呢?昨晚花了点时间,写了段简单的随机插入随机的文字的代码,asp版本的: ''===随机生成干扰文字函数开始=== ''===随机生成干扰文字函数一=== function rndk() dim s,s1,n,n1 ''随

ASP.NET中利用cookies保持客户端信息

asp.net|cookie|cookies|客户端 我当前所吃的东东都固定为食物,所以一点也不惊讶,这一周的主题为cookies. Cookies用于存储特定用户信息,它提供了Web程序中一种有用的方式.多年以来,JavaScript开发人员已经进行了有关cookie的大量工作.同样,ASP.NET通过System.Web空间名称也提供了cookie的访问.虽然你不应该使用cookie来存储一些敏感性的数据,但是,它们是处理锁细数据的一个极好的选择,比如颜色参数选择或者最后一次访问日期. 传递

asp.net中GridView实现查看详细信息,修改,删除数据

信息管理实验7-使用GridView实现查看详细信息,修改,删除数据 首先创建好一个数据库&表  代码如下 复制代码 CREATE DATABASE MedicineDB; USE MedicineDB; CREATE TABLE Medicine( [ID] bigint, [Name] varchar(50), [Price] bigint, [Type] varchar(50), [Intro] text, primary key(ID) ) 首先创建好一个数据库&表  代码如下 复

asp.net中dropdownList绑定已有信息

  我们在修改操作的时候,需要绑定该对象已经有的信息,那么怎么办呢?   方法一: this.DropDownList1.SelectedIndex = this.DropDownList1.Items.IndexOf(this.DropDownList1.Items.FindByText("字符串")); 或者 this.DropDownList1.SelectedIndex = this.DropDownList1.Items.IndexOf(this.DropDownList1.

asp.net中如何把添加的信息自动存到数据库中?

问题描述 usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;pub

使用数据库中的图像

数据|数据库      图像处理仍然是令许多人感到困惑和麻烦的一个领域.至今为止,在ASP页面中处理图像的最好方法是将图像保存到文件系统中而不是数据库中.    然而,需要从数据库中访问图像的情况是存在的,因此这里有一个访问图像的简单方法,假定图像数据是SQL Server的一个B L O B字段.使用微软的Access存储图像有一个额外的问题,图像的头信息存放于O L E对象字段中.这里不打算研究Access的解决方案.    当然,也可以使用存储过程来返回图像以加快执行速度.    这个例子

在ASP.NET中上传图片并生成带版权信息的缩略图

asp.net|上传|上传图片|缩略图 前台:<HTML>    <HEAD>        <title>WebForm3</title>            </HEAD>    <body>        <form id="Form1" method="post" runat="server">             <INPUT id=&quo