使用ASP.NET Image Generation生成图片缩略图及水印 -
时间:2010-09-04 来源:蔚蓝的大海
下面使用ASP.NET Image Generation生成图片缩略图及水印的代码。
数据库
以下为引用的内容: CREATE TABLE t_images ( image_id INT, image_data IMAGE, last_modified_date, DATETIME ) |
Default.aspx
以下为引用的内容: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="NET35Lab.GeneratedImage.Web._Default" %> <%@ Register Assembly="Microsoft.Web.GeneratedImage" Namespace="Microsoft.Web" TagPrefix="cc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="2" RepeatDirection="Horizontal" CellPadding="4" CellSpacing="4"> <ItemTemplate> <cc1:GeneratedImage ID="GeneratedImage1" runat="server" ImageHandlerUrl="~/ImageHandler1.ashx" Timestamp='<%# Eval("last_modified_date") %>'> <Parameters> <cc1:ImageParameter Name="imageid" Value='<%# Eval("image_id") %>' /> </Parameters> </cc1:GeneratedImage> <br /> </ItemTemplate> </asp:DataList> </div> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True;" ProviderName="System.Data.SqlClient" SelectCommand="SELECT [image_id], [image_data], [last_modified_date] FROM [t_images]"> </asp:SqlDataSource> </form> </body> </html> |
ImageHandler1.ashx
以下为引用的内容: <%@ WebHandler Language="C#" CodeBehind="ImageHandler1.ashx.cs" Class="NET35Lab.GeneratedImage.Web.ImageHandler1" %> |
以下为引用的内容: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.Web; using System.Collections.Specialized; using System.Data.SqlClient; using System.Drawing; namespace NET35Lab.GeneratedImage.Web { public class ImageHandler1 : ImageHandler { public ImageHandler1() { this.ImageTransforms.Add(new ImageResizeTransform { Width = 320, Mode = ImageResizeMode.Fit }); this.ImageTransforms.Add(new CopyrightTransform { Text = "Guushuuse .NET" }); this.EnableClientCache = true; this.EnableServerCache = true; } public override ImageInfo GenerateImage(NameValueCollection parameters) { int imageID = int.Parse(parameters["imageid"]); SqlConnection connection = new SqlConnection( @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True;"); connection.Open(); SqlCommand command = new SqlCommand("select image_data from t_images where image_id=" + imageID, connection); SqlDataReader dr = command.ExecuteReader(); dr.Read(); return new ImageInfo((Byte[])dr[0]); } } public class CopyrightTransform : ImageTransform { private const int VERTICAL_PADDING = 5; private const int HORIZONAL_PADDING = 5; public string Text { get; set; } public Font Font { get; set; } public Color FontColor { get; set; } public CopyrightTransform() { //Assign Defaults FontColor = Color.FromArgb(128, 255, 0, 0); Font = new Font("Courier", 13); } public override System.Drawing.Image ProcessImage(System.Drawing.Image img) { Graphics gra = Graphics.FromImage(img); SizeF sz = gra.MeasureString(Text, Font); gra.DrawString(Text, Font, new SolidBrush(FontColor), img.Width - sz.Width - HORIZONAL_PADDING, img.Height - sz.Height - VERTICAL_PADDING); return img; } public override string UniqueString { get { return base.UniqueString + Text + FontColor.ToString() + Font.ToString(); } } } } |
运行效果
点击查看大图
cable news network incremote desktop client mac betawindows vista ultimate pckeystone jack manufacturerssony cpd g400pioneer car audio systemlaptop sata to idecardrecovery 5.20 0212 portablesbp2 compliant ieee 1394 device 5.1 downloadupgrade graphics card pcuniversal dc power adapterrogers channel guidewireless desktop adapterspci express dvi6 ft hdmicat6 24 port patch panelrf products inc.linksys wrt54g wireless router setupairport monitor guardiaps3 hi def cablestandard ide ata atapi controllerssubwoofer parallel wiringlaptops express card 34 slotcircuit city cnetvoip wireless internetsouthern company services incwii wireless nunchuck adaptor600dpi usb scanner driver downloadsata portoffice furniture replacement partsp2 viewer software downloadfree to air hd satellite channelsinstall airport mac prolcd monitor power supplyrj11 connector pinoutbest bluetooth 2008height sound cards out therewoody bamboo flash driveps3 conversion softwarebelkin usb 2.0 multimedia reader writerrepair bioswindows wireless utilityhdmi cable hdtvremove control panel desktopsatellite descramblersgame port interfacesplitter cableunlock sidekick sim cardhp 4100 network cardhome theater system best buy
Replica lv Hangbags
Replica Hangbags
Hangbags
replica handbags
replica handbags
replica handbags
replica handbags
replica handbags
bags
handbags
handbags
replica handbags
replica handbags
replica handbagsusb cable
usb cable
usb cable
usb cable
usb cable
usb flash drives
usb flash drives
usb flash drives
usb flash drives usb flash drives usb flash drives usb flash drives usb flash drives usb flash drives 相关阅读 更多 +