ASP.net 產生縮圖的執行個體原始碼

來源:互聯網
上載者:User

   using System;

  using System.Data;

  using System.Configuration;

  using System.Web;

  using System.Web.Security;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Web.UI.WebControls.WebParts;

  using System.Web.UI.HtmlControls;

  using System.IO;

  using System.Drawing;

  using System.Drawing.Imaging;

  ///

  /// 圖片處理類

  /// 1、產生縮圖片或按照比例改變圖片的大小和畫質

  /// 2、將產生的縮圖放到指定的目錄下

  ///

  public class ImageClass

  {

  public System.Drawing.Image ResourceImage;

  private int ImageWidth;

  private int ImageHeight;

  public string ErrMessage;

  ///

  /// 類的建構函式

  ///

  /// 圖片檔案的全路徑名稱

  public ImageClass(string ImageFileName)

  {

  ResourceImage = System.Drawing.Image.FromFile(ImageFileName);

  ErrMessage = "";

  }

  public bool ThumbnailCallback()

  {

  return false;

  }

  ///

  /// 產生縮圖重載方法1,返回縮圖的Image對象

  ///

  /// 縮圖的寬度

  /// 縮圖的高度

  /// 縮圖的Image對象

  public System.Drawing.Image GetReducedImage(int Width, int Height)

  {

  try

  {

  System.Drawing.Image ReducedImage;

  System.Drawing.Image.GetThumbnailImageAbort callb = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

  ReducedImage = ResourceImage.GetThumbnailImage(Width, Height, callb, IntPtr.Zero);

  return ReducedImage;

  }

  catch (Exception e)

  {

  ErrMessage = e.Message;

  return null;

  }

  }

  ///

  /// 產生縮圖重載方法2,將縮圖檔案儲存到指定的路徑

  ///

  /// 縮圖的寬度

  /// 縮圖的高度

  /// 縮圖儲存的全檔案名稱,(帶路徑),參數格式:D:Images ilename.jpg

  /// 成功返回true,否則返回false

  public bool GetReducedImage(int Width, int Height, string targetFilePath)

  {

  try

  {

  System.Drawing.Image ReducedImage;

  System.Drawing.Image.GetThumbnailImageAbort callb = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

  ReducedImage = ResourceImage.GetThumbnailImage(Width, Height, callb, IntPtr.Zero);

  ReducedImage.Save(@targetFilePath, ImageFormat.Jpeg);

  ReducedImage.Dispose();

  return true;

  }

  catch (Exception e)

  {

  ErrMessage = e.Message;

  return false;

  }

  }

  ///

  /// 產生縮圖重載方法3,返回縮圖的Image對象

  ///

  /// 縮圖的寬度百分比 如:需要百分之80,就填0.8

  /// 縮圖的Image對象

  public System.Drawing.Image GetReducedImage(double Percent)

  {

  try

  {

  System.Drawing.Image ReducedImage;

  System.Drawing.Image.GetThumbnailImageAbort callb = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

  ImageWidth = Convert.ToInt32(ResourceImage.Width * Percent);

  ImageHeight = Convert.ToInt32(ResourceImage.Width * Percent);

  ReducedImage = ResourceImage.GetThumbnailImage(ImageWidth, ImageHeight, callb, IntPtr.Zero);

  return ReducedImage;

  }

  catch (Exception e)

  {

  ErrMessage = e.Message;

  return null;

  }

  }

  ///

  /// 產生縮圖重載方法4,返回縮圖的Image對象

  ///

  /// 縮圖的寬度百分比 如:需要百分之80,就填0.8

  /// 縮圖儲存的全檔案名稱,(帶路徑),參數格式:D:Images ilename.jpg

  /// 成功返回true,否則返回false

  public bool GetReducedImage(double Percent, string targetFilePath)

  {

  try

  {

  System.Drawing.Image ReducedImage;

  System.Drawing.Image.GetThumbnailImageAbort callb = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

  ImageWidth = Convert.ToInt32(ResourceImage.Width * Percent);

  ImageHeight = Convert.ToInt32(ResourceImage.Width * Percent);

  ReducedImage = ResourceImage.GetThumbnailImage(ImageWidth, ImageHeight, callb, IntPtr.Zero);

  ReducedImage.Save(@targetFilePath, ImageFormat.Jpeg);

  ReducedImage.Dispose();

  return true;

  }

  catch (Exception e)

  {

  ErrMessage = e.Message;

  return false;

  }

  }

  }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.