仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1123|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:ASP.NET 天生图片缩略图及水印的办法

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:24:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。ASP.NETImageGeneration内置了ImageResizeTransform类,能够完成图片巨细调剂功效。也能够扩大ImageTransform完成本人的图片变更类。  上面利用ASP.NETImageGeneration天生图片缩略图及水印的代码。
  数据库
  以下为援用的内容:
CREATETABLEt_images
(
image_idINT,
image_dataIMAGE,
last_modified_date,DATETIME
)
  Default.aspx
  以下为援用的内容:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="NET35Lab.GeneratedImage.Web._Default"%>
<%@RegisterAssembly="Microsoft.Web.GeneratedImage"Namespace="Microsoft.Web"TagPrefix="cc1"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:DataListID="DataList1"runat="server"DataSourceID="SqlDataSource1"RepeatColumns="2"
RepeatDirection="Horizontal"CellPadding="4"CellSpacing="4">
<ItemTemplate>
<cc1:GeneratedImageID="GeneratedImage1"runat="server"ImageHandlerUrl="~/ImageHandler1.ashx"
Timestamp=<%#Eval("last_modified_date")%>>
<Parameters>
<cc1:ImageParameterName="imageid"Value=<%#Eval("image_id")%>/>
</Parameters>
</cc1:GeneratedImage>
<br/>
</ItemTemplate>
</asp:DataList>
</div>
<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="DataSource=.SQLEXPRESS;AttachDbFilename=DataDirectoryDatabase.mdf;IntegratedSecurity=True;UserInstance=True;"
ProviderName="System.Data.SqlClient"SelectCommand="SELECT[image_id],[image_data],[last_modified_date]FROM[t_images]">
</asp:SqlDataSource>
</form>
</body>
</html>
ImageHandler1.ashx
  以下为援用的内容:
<%@WebHandlerLanguage="C#"CodeBehind="ImageHandler1.ashx.cs"Class="NET35Lab.GeneratedImage.Web.ImageHandler1"%>


ImageHandler1.ashx.cs

  以下为援用的内容:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingMicrosoft.Web;
usingSystem.Collections.Specialized;
usingSystem.Data.SqlClient;
usingSystem.Drawing;

namespaceNET35Lab.GeneratedImage.Web
{

publicclassImageHandler1:ImageHandler
{

publicImageHandler1()
{
this.ImageTransforms.Add(newImageResizeTransform{Width=320,Mode=ImageResizeMode.Fit});
this.ImageTransforms.Add(newCopyrightTransform{Text="Guushuuse.NET"});
this.EnableClientCache=true;
this.EnableServerCache=true;

}

publicoverrideImageInfoGenerateImage(NameValueCollectionparameters)
{

intimageID=int.Parse(parameters["imageid"]);

SqlConnectionconnection=newSqlConnection(
@"DataSource=.SQLEXPRESS;AttachDbFilename=DataDirectoryDatabase.mdf;IntegratedSecurity=True;UserInstance=True;");

connection.Open();

SqlCommandcommand=newSqlCommand("selectimage_datafromt_imageswhereimage_id="+imageID,connection);

SqlDataReaderdr=command.ExecuteReader();

dr.Read();

returnnewImageInfo((Byte[])dr[0]);

}
}

publicclassCopyrightTransform:ImageTransform
{
privateconstintVERTICAL_PADDING=5;
privateconstintHORIZONAL_PADDING=5;

publicstringText{get;set;}
publicFontFont{get;set;}
publicColorFontColor{get;set;}

publicCopyrightTransform()
{
//AssignDefaults
FontColor=Color.FromArgb(128,255,0,0);
Font=newFont("Courier",13);
}


publicoverrideSystem.Drawing.ImageProcessImage(System.Drawing.Imageimg)
{
Graphicsgra=Graphics.FromImage(img);
SizeFsz=gra.MeasureString(Text,Font);
gra.DrawString(Text,Font,newSolidBrush(FontColor),img.Width-sz.Width-HORIZONAL_PADDING,img.Height-sz.Height-VERTICAL_PADDING);
returnimg;
}

publicoverridestringUniqueString
{
get
{
returnbase.UniqueString+Text+FontColor.ToString()+Font.ToString();
}
}
}
}

  
因为二次编译器太复杂,那么建议只是在安装程序的时候编译一次,而不类似java那样运行就编译。并且我觉得,一次痛苦,总比多次低效率要舒服多了。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-17 07:54:16 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
小女巫 该用户已被删除
板凳
发表于 2015-1-20 15:49:59 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
只想知道 该用户已被删除
地板
发表于 2015-2-6 00:55:56 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
admin 该用户已被删除
5#
发表于 2015-2-14 18:05:47 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
简单生活 该用户已被删除
6#
发表于 2015-3-4 09:46:20 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
老尸 该用户已被删除
7#
发表于 2015-3-11 18:11:40 | 只看该作者
那么,ASP.Net有哪些改进呢?
爱飞 该用户已被删除
8#
发表于 2015-3-19 06:24:49 | 只看该作者
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
9#
发表于 2015-3-27 09:47:22 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表