亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

用C#輕松在DOTNET中實現縮略圖

2024-07-21 02:17:42
字體:
來源:轉載
供稿:網友
菜鳥學堂:
 以前,在頁面上實現縮略圖必須借助第三方組件?,F在,有了.net,就可以很輕松地實現縮略圖。下面就是實現縮略圖的例子。

tothumbnailimage.aspx

<%@ page language="c#" codebehind="tothumbnailimage.aspx.cs" src="tothumbnailimage.aspx.cs" autoeventwireup="false"

inherits="exam_c.tothumbnailimage" %>
<html>
  <head>
    <title>lion互動網絡 =>生成縮略圖</title>
  </head>
  <body>
    <form id="form1" method="post" runat="server">
     </form>
  </body>
</html>

 tothumbnailimage.aspx.cs

using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
using system.drawing.imaging;
namespace exam_c
{
 /// <summary>
 /// tothumbnailimage 的摘要說明。
 /// </summary>
 public class tothumbnailimage : system.web.ui.page
 {
  /* 
  create by lion 
  2003-05-20 19:00 
  copyright (c) 2004 www.lionsky.net. all rights reserved.
  web: http://www.lionsky.net ;
  email: [email protected]
  */ 


  static hashtable htmimes=new hashtable();
  internal readonly string allowext = ".jpe|.jpeg|.jpg|.png|.tif|.tiff|.bmp";
 
  #region web 窗體設計器生成的代碼
  override protected void oninit(eventargs e)
  {
   #region htmimes[".jpe"]="image/jpeg";
   htmimes[".jpeg"]="image/jpeg";
   htmimes[".jpg"]="image/jpeg";  
   htmimes[".png"]="image/png";  
   htmimes[".tif"]="image/tiff";
   htmimes[".tiff"]="image/tiff";
   htmimes[".bmp"]="image/bmp";
   #endregion
   //調用生成縮略圖方法
   tothumbnailimages("lionsky.jpg","b.gif",300);
  } 
  #endregion

  #region helper
 
  /// <summary>
  /// 獲取圖像編碼解碼器的所有相關信息
  /// </summary>
  /// <param name="mimetype">包含編碼解碼器的多用途網際郵件擴充協議 (mime) 類型的字符串</param>
  /// <returns>返回圖像編碼解碼器的所有相關信息</returns>
  static imagecodecinfo getcodecinfo(string mimetype)
  {
   imagecodecinfo[] codecinfo = imagecodecinfo.getimageencoders();
   foreach(imagecodecinfo ici in codecinfo)
   {
    if(ici.mimetype == mimetype)return ici;
   }
   return null;
  }

  /// <summary>
  /// 檢測擴展名的有效性
  /// </summary>
  /// <param name="sext">文件名擴展名</param>
  /// <returns>如果擴展名有效,返回true,否則返回false.</returns>
  bool checkvalidext(string sext)
  {  
   bool flag=false;
   string[] aext = allowext.split('|');
   foreach(string filetype in aext)
   {
    if(filetype.tolower()==sext)
    {
     flag = true;
     break;
    }
   }  
   return flag;
  }

  /// <summary>
  /// 保存圖片
  /// </summary>
  /// <param name="image">image 對象</param>
  /// <param name="savepath">保存路徑</param>
  /// <param name="ici">指定格式的編解碼參數</param>
  void saveimage(system.drawing.image image,string savepath,imagecodecinfo ici)
  {
   //設置 原圖片 對象的 encoderparameters 對象
   encoderparameters parameters = new encoderparameters(1);
   parameters.param[0] = new encoderparameter(encoder.quality, ((long) 90));
   image.save(savepath, ici, parameters);
   parameters.dispose();
  }
  #endregion

  #region methods

  /// <summary>
  /// 生成縮略圖
  /// </summary>
  /// <param name="sourceimagepath">原圖片路徑(相對路徑)</param>
  /// <param name="thumbnailimagepath">生成的縮略圖路徑,如果為空則保存為原圖片路徑(相對路徑)</param>
  /// <param name="thumbnailimagewidth">縮略圖的寬度(高度與按源圖片比例自動生成)</param>
  public void tothumbnailimages(string sourceimagepath,string thumbnailimagepath,int thumbnailimagewidth)
  {
   string sourceimagepath = sourceimagepath;
   string thumbnailimagepath = thumbnailimagepath;
   int thumbnailimagewidth = thumbnailimagewidth;
   string sext = sourceimagepath.substring(sourceimagepath.lastindexof(".")).tolower();
   if(sourceimagepath.tostring()==system.string.empty) throw new nullreferenceexception("sourceimagepath

is null!");
   if(!checkvalidext(sext))
   {
    throw new argumentexception("原圖片文件格式不正確,支持的格式有[ "+ allowext +"

]","sourceimagepath");
   }
   //從 原圖片 創建 image 對象
   system.drawing.image image = system.drawing.image.fromfile(httpcontext.current.server.mappath

(sourceimagepath)); 
   int num = ((thumbnailimagewidth / 4) * 3);
   int width = image.width;
   int height = image.height;
   //計算圖片的比例
   if ((((double) width) / ((double) height)) >= 1.3333333333333333f)
   {
    num = ((height * thumbnailimagewidth) / width);
   }
   else
   {
    thumbnailimagewidth = ((width * num) / height);
   }
   if ((thumbnailimagewidth < 1) || (num < 1))
   {
    return;
   }
   //用指定的大小和格式初始化 bitmap 類的新實例
   bitmap bitmap = new bitmap(thumbnailimagewidth, num, pixelformat.format32bppargb);
   //從指定的 image 對象創建新 graphics 對象
   graphics graphics = graphics.fromimage(bitmap);
   //清除整個繪圖面并以透明背景色填充
   graphics.clear(color.transparent);
   //在指定位置并且按指定大小繪制 原圖片 對象
   graphics.drawimage(image, new rectangle(0, 0, thumbnailimagewidth, num));
   image.dispose();   
   try
   {  
    //將此 原圖片 以指定格式并用指定的編解碼參數保存到指定文件
    string savepath = (thumbnailimagepath==null?sourceimagepath:thumbnailimagepath); 
    saveimage(bitmap,httpcontext.current.server.mappath(savepath),getcodecinfo((string)htmimes

[sext]));
   }
   catch(system.exception e)
   {
    throw e;
   }
   finally
   {
    bitmap.dispose();     
    graphics.dispose();
   }
  }
  #endregion

 }
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩成人av在线播放| 国产在线观看精品| 中文字幕日本精品| 亚洲国产精品大全| 久久精品国产清自在天天线| 欧美成人午夜激情在线| 操91在线视频| 欧美三级欧美成人高清www| 国产在线观看精品| 日本久久久久久久久| 日本高清不卡在线| 亚洲精品福利免费在线观看| 91色琪琪电影亚洲精品久久| 中文字幕亚洲欧美日韩在线不卡| 亚洲va男人天堂| 欧美激情极品视频| 国产精品色婷婷视频| 亚洲xxx大片| 国产精品男人爽免费视频1| 欧美另类在线播放| 国产成人高潮免费观看精品| 欧美综合激情网| 国产精品夫妻激情| 成人免费在线视频网站| 亚洲午夜国产成人av电影男同| 国产精品女主播视频| 欧美性精品220| 日韩av电影在线网| 午夜欧美不卡精品aaaaa| 26uuu另类亚洲欧美日本一| 欧美日韩福利电影| 日韩精品在线视频| 国产精品日韩专区| 欧美性猛交xxxx富婆弯腰| 亚洲国产成人精品久久| 在线看日韩av| 日韩中文理论片| 国产成人aa精品一区在线播放| 欧美日韩精品二区| 国产色综合天天综合网| 成人免费视频网| 在线播放日韩欧美| 91色琪琪电影亚洲精品久久| 日韩av中文字幕在线| 国产日韩视频在线观看| 久久久久久久国产精品视频| 国产精品入口福利| 久久精品99久久久香蕉| 国产精品高潮在线| 国内精品久久久久久中文字幕| 国产欧美亚洲视频| 国产成人久久精品| 久久精品夜夜夜夜夜久久| 国产美女被下药99| 日韩中文在线中文网在线观看| 亚洲无亚洲人成网站77777| 久久综合久久美利坚合众国| 日韩欧美主播在线| 日本一区二三区好的精华液| 亚洲欧美日韩爽爽影院| 久久精品欧美视频| 北条麻妃一区二区三区中文字幕| 亚洲欧美www| 欧美性受xxxx白人性爽| 亚洲精品久久久久久久久| 国模视频一区二区| 欧美国产极速在线| 欧美高清不卡在线| 中文字幕日韩在线播放| 日本亚洲欧美成人| 韩国精品久久久999| 精品久久中文字幕| 精品国产一区二区三区久久狼黑人| 精品国产91久久久久久老师| 亚洲久久久久久久久久| 亚洲午夜未满十八勿入免费观看全集| 欧美性猛xxx| 操人视频在线观看欧美| 狠狠久久亚洲欧美专区| 91九色国产社区在线观看| 欧美色videos| 亚洲午夜未满十八勿入免费观看全集| 日韩激情第一页| 国产精品igao视频| 国产在线不卡精品| 欧美裸体男粗大视频在线观看| 日韩在线观看视频免费| 精品日本美女福利在线观看| 欧美一区二区.| 久久久亚洲国产天美传媒修理工| 欧美日韩亚洲成人| 成人免费淫片aa视频免费| 亚洲国产欧美一区| 亚洲人成在线播放| 国产美女久久久| 成人午夜激情网| 亚洲第一区中文字幕| 成人在线国产精品| 欧美在线精品免播放器视频| 欧美洲成人男女午夜视频| 国产精品精品久久久| 国产精品久久久久久婷婷天堂| 色琪琪综合男人的天堂aⅴ视频| 欧美成人sm免费视频| 欧洲日韩成人av| 成人a在线观看| 亚洲成人999| 91精品国产精品| 精品视频在线播放色网色视频| 欧美精品video| 国产一区二区三区在线视频| 国产精品极品美女粉嫩高清在线| 日韩高清电影好看的电视剧电影| 亚洲国产私拍精品国模在线观看| 精品久久久久久久久久ntr影视| 欧美又大又粗又长| 亚洲2020天天堂在线观看| 亚洲第一视频在线观看| 国产欧美在线观看| 91久久久久久久久久| 亚洲欧洲一区二区三区在线观看| 精品激情国产视频| 性欧美激情精品| 成人免费视频97| 91最新在线免费观看| zzijzzij亚洲日本成熟少妇| 亚洲第一在线视频| 日本免费一区二区三区视频观看| 国产精品69久久久久| 国产欧美在线视频| 成人在线一区二区| 中文字幕国产亚洲| 日本高清视频精品| 久久深夜福利免费观看| 91视频国产精品| 久久99久国产精品黄毛片入口| 日韩精品在线观看网站| 日韩电影免费观看在线| 日韩在线观看电影| 啪一啪鲁一鲁2019在线视频| 成人情趣片在线观看免费| 国产精品精品久久久久久| 亚洲黄页网在线观看| 久热精品视频在线观看| 日韩一区在线视频| 久久久久国产一区二区三区| 精品久久久久久久久国产字幕| 久久人人爽人人| 久久av中文字幕| 亚洲午夜国产成人av电影男同| 国产精品狠色婷| 久久久久久久久久婷婷| 亚洲性无码av在线| 日韩www在线| 欧美电影在线观看| 欧美高清视频在线| 俺去了亚洲欧美日韩| 国产亚洲欧美日韩一区二区| 欧美激情一区二区久久久| 亚洲精品免费av| 成人自拍性视频| 岛国av一区二区在线在线观看| 91亚洲永久免费精品| 欧美在线视频免费|