本篇文章為大家展示了怎么在ASP.NET中根據(jù)URL生成網(wǎng)頁(yè)縮略圖,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站專注于碧江企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城建設(shè)。碧江網(wǎng)站建設(shè)公司,為碧江等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)起始頁(yè):Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CaptureToImage._Default" %>Snap
調(diào)用頁(yè):Snap.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Snap.aspx.cs" Inherits="CaptureToImage.Snap" AspCompat="true" %>無(wú)標(biāo)題頁(yè)
PS:紅色字體部分是為解決錯(cuò)誤增加的代碼,強(qiáng)制程序在單線程環(huán)境下運(yùn)行!
調(diào)用頁(yè):Snap.aspx.cs
using System; using System.Data; using System.Configuration; using System.Collections; 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.Drawing.Imaging; namespace CaptureToImage { public partial class Snap : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string url = string.Empty; url = Request.QueryString[0]; try { GetImage thumb = new GetImage(url, 1024, 768, 800, 600); System.Drawing.Bitmap x = thumb.GetBitmap(); x.Save(Response.OutputStream, ImageFormat.Jpeg); Response.ContentType = "image/jpeg"; } catch (Exception ex) { Response.Write(ex.Message); } } } }
類文件:GetImage.cs
using System; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms; using System.Web.UI; namespace CaptureToImage { public class GetImage { int S_Height; int S_Width; int F_Height; int F_Width; string MyURL; public int ScreenHeight { get { return S_Height; } set { S_Height = value; } } public int ScreenWidth { get { return S_Width; } set { S_Width = value; } } public int ImageHeight { get { return F_Height; } set { F_Height = value; } } public int ImageWidth { get { return F_Width; } set { F_Width = value; } } public string WebSite { get { return MyURL; } set { MyURL = value; } } public GetImage(string WebSite, int ScreenWidth, int ScreenHeight, int ImageWidth, int ImageHeight) { this.WebSite = WebSite; this.ScreenHeight = ScreenHeight; this.ScreenWidth = ScreenWidth; this.ImageHeight = ImageHeight; this.ImageWidth = ImageWidth; } [STAThread] public Bitmap GetBitmap() { WebPageBitmap Shot = new WebPageBitmap(this.WebSite, this.ScreenWidth, this.ScreenHeight); Shot.GetIt(); Bitmap Pic = Shot.DrawBitmap(this.ImageHeight, this.ImageWidth); return Pic; } } public class WebPageBitmap { WebBrowser MyBrowser; string URL; int Height; int Width; public WebPageBitmap(string url, int width, int height) { this.URL = url; this.Width = width; this.Height = height; MyBrowser = new WebBrowser(); MyBrowser.ScrollBarsEnabled = false; MyBrowser.Size = new Size(this.Width, this.Height); } public void GetIt() { NavigateUrl(this.URL); while (MyBrowser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } } public delegate void DelUserHandler(string url); public void NavigateUrl(string url) { try { if (this.MyBrowser.InvokeRequired) { DelUserHandler handler = new DelUserHandler(NavigateUrl); MyBrowser.Invoke(handler, url); } else { this.MyBrowser.Navigate(url); } } catch (Exception ex) { throw new Exception("NavigateUrl()" + ex.Message); } } public Bitmap DrawBitmap(int theight, int twidth) { Bitmap myBitmap = new Bitmap(this.Width, this.Height); Rectangle DrawRect = new Rectangle(0, 0, this.Width, this.Height); MyBrowser.DrawToBitmap(myBitmap, DrawRect); System.Drawing.Image imgOutput = myBitmap; System.Drawing.Bitmap oThumbNail = new Bitmap(twidth, theight, imgOutput.PixelFormat); Graphics g = Graphics.FromImage(oThumbNail); g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed; g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear; Rectangle oRectangle = new Rectangle(0, 0, twidth, theight); g.DrawImage(imgOutput, oRectangle); try { return oThumbNail; } catch { return null; } finally { imgOutput.Dispose(); imgOutput = null; MyBrowser.Dispose(); MyBrowser = null; } } } }
上述內(nèi)容就是怎么在ASP.NET中根據(jù)URL生成網(wǎng)頁(yè)縮略圖,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。