浅谈ASP.NET Image Generation
创始人
2024-04-19 22:50:23
0

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应用程序

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...