|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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那样运行就编译。并且我觉得,一次痛苦,总比多次低效率要舒服多了。 |
|