All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
此方法用于确认用户输入的不是恶意信息_[Asp.Net教程]
SQLSERVER中,数据库同步的实现_[SQL Server教程]
编写SQL查询的关键—SQL语句的执行顺序_mssql学习_编程技术
草根的进化,PHP语言发展简史_php资料_编程技术
几个Delphi鼠标处理事件的使用实例
datagrid导出excel文件给客户端下载的3种方法_[Asp.Net教程]
C#教程:电子邮件的接收使用实例
visit c++中打开数据与关闭数据连接
用.net,处理xmlHttp发送异步请求_.net资料_编程技术
ASP.Net,C#2.0全能数据库组件,(开源含实例源码)_[Asp.Net教程]
Reading number is top 10 pictures
NeedWallpaper3
Sanya, hainan Haitian party feast promiscuity
抗日又出雷剧情
关于海盗的研究2
Photographed the passion of the clients and prostitutes in the sex trade picture1
Small QiShu -- ShuangShuangPan2
girl of HuNan name is LiXiang(湖南辣姐李湘的写真)
mythology hero1
Born After 90 Beijing sports university campus flower photos1
Extremely rare TianShan Mountains snow lotus2
Download software ranking
Tram sex maniac 2 (H) rar bag19
传奇私服架设教程
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
linux高级编程
Ashlynn Video4
matrix2
传奇私服架设教程
jBuilder2006
Boxer vs Yellow3
Unix video tutorial6
delv published in(发表于) 2014/1/10 6:31:09 Edit(编辑)
在Asp.net中为图像加入版权信息_[Asp.Net教程]

在Asp.net中为图像加入版权信息_[Asp.Net教程]

在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","小智");


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


作者:我心飞翔 来源:CSDN







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.