浅谈ASP.NET Image Generation

开发 后端
本文介绍ASP.NET Image Generation内置了ImageResizeTransform类,可以实现图片大小调整功能和使用ASP.NET Image Generation水印的代码。

ASP.NET Image Generation内置了ImageResizeTransform类,可以实现图片大小调整功能。

也可以扩展ImageTransform实现自己的图片变换类。

下面使用ASP.NET Image Generation水印的代码:

  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Linq;  
  4. usingSystem.Web;  
  5. usingMicrosoft.Web;  
  6. usingSystem.Collections.Specialized;  
  7. usingSystem.Data.SqlClient;  
  8. usingSystem.Drawing;  
  9.  
  10. namespaceNET35Lab.GeneratedImage.Web  
  11. {  
  12.  
  13. publicclassImageHandler1:ImageHandler  
  14. {  
  15.  
  16. publicImageHandler1()  
  17. {  
  18. this.ImageTransforms.Add(newImageResizeTransform
    {
    Width=320,Mode=ImageResizeMode.Fit});  
  19. this.ImageTransforms.Add(newCopyrightTransform{Text="Guushuuse.NET"});  
  20. this.EnableClientCache=true;  
  21. this.EnableServerCache=true;  
  22.  
  23. }  
  24.  
  25. publicoverrideImageInfoGenerateImage(NameValueCollectionparameters)  
  26. {  
  27.  
  28. intintimageID=int.Parse(parameters["imageid"]);  
  29.  
  30. SqlConnectionconnection=newSqlConnection(  
  31. @"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.
    mdf;
    IntegratedSecurity=True;UserInstance=True;");  
  32.  
  33. connection.Open();  
  34.  
  35. SqlCommandcommand=newSqlCommand
    ("selectimage_datafromt_imageswhereimage_id="+imageID,connection);  
  36.  
  37. SqlDataReaderdr=command.ExecuteReader();  
  38.  
  39. dr.Read();  
  40.  
  41. returnnewImageInfo((Byte[])dr[0]);  
  42.  
  43. }  
  44. }  
  45.  
  46. publicclassCopyrightTransform:ImageTransform  
  47. {  
  48. privateconstintVERTICAL_PADDING=5;  
  49. privateconstintHORIZONAL_PADDING=5;  
  50.  
  51. publicstringText{get;set;}  
  52. publicFontFont{get;set;}  
  53. publicColorFontColor{get;set;}  
  54.  
  55. publicCopyrightTransform()  
  56. {  
  57. //AssignDefaults  
  58. FontColor=Color.FromArgb(128,255,0,0);  
  59. Font=newFont("Courier",13);  
  60. }  
  61.  
  62.  
  63. publicoverrideSystem.Drawing.ImageProcessImage(System.Drawing.Imageimg)  
  64. {  
  65. GraphicsGraphicsgra=Graphics.FromImage(img);  
  66. SizeFsz=gra.MeasureString(Text,Font);  
  67. gra.DrawString(Text,Font,newSolidBrush(FontColor),
    img.Width-sz.Width-HORIZONAL_PADDING,img.Height-sz.Height-VERTICAL_PADDING);  
  68. returnimg;  
  69. }  
  70.  
  71. publicoverridestringUniqueString  
  72. {  
  73. get  
  74. {  
  75. returnbase.UniqueString+Text+FontColor.ToString()+Font.ToString();  
  76. }  
  77. }  
  78. }  

以上是介绍ASP.NET Image Generation

【编辑推荐】

  1. ASP.NET页面显示XML数据
  2. 了解什么是IFRAME ASP.NET
  3. ASP.NET生命周期的展示
  4. 解决ASP.NET AJAX脚本的错误问题
  5. 详解ASP.NET应用程序
责任编辑:佚名 来源: 51cto博客
相关推荐

2009-07-24 10:52:42

ASP.NET ISA

2009-07-20 15:30:11

ASP.NET应用

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 13:24:24

ASP.NET MVC

2009-08-05 15:29:33

ASP.NET For

2009-08-10 10:19:47

ASP.NET组件设计

2009-07-28 17:49:30

ASP.NET定期回收

2009-07-20 17:12:17

ASP.NET访问数据

2009-07-23 15:44:39

ASP.NET MVC

2009-07-28 16:03:23

ASP.NET状态服务

2009-07-27 16:19:59

ASP.NET报表控件

2011-08-23 10:58:59

2009-07-21 14:16:02

ASP.NET管道优化

2009-07-28 17:34:28

ASP.NET XML

2011-06-08 11:36:16

ASP.NETrender

2009-07-29 09:38:06

Web开发ASP.NET

2009-07-21 15:02:19

ASP.NET应用程序

2009-07-28 18:00:11

ASP.NET程序

2009-08-19 10:54:42

ASP.NET数据访问

2009-07-22 17:21:27

ASP.NET 2.0
点赞
收藏

51CTO技术栈公众号