I klassisk ASP så finnes det ingen innebygget funksjonalitet for å generere thumbnails. Da trenger du å bruke tredjeparts-komponenter som for eksempel ASPJpeg. I ASP.NET derimot så finnes et innebygget bibliotek som heter System.Drawing og kan brukes for både thumbnails og andre former av bildemanipulering.
Generere thumbnail fra fil
Nedenfor finner du eksempelkode for å generere en thumbnail fra en fil. Husk at koden må modifiseres litt for at den skal virke for dine bilder. Søkeveien for filene må forandres, og man kan også måtte justere bildetypen om man ikke bruker PNG-bilder.
Koden er skrevet for å brukes i en så kalt codebehind-posisjon og kan trenge modifikasjoner for å virke på riktig måte. Du burde justere namespace og klassenavn etter navn på prosjektet og ASP.NET-formularet ditt.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; using System.Drawing.Imaging; using System.IO; namespace MyProject { public partial class MyPage: System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Prepare callback System.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); // Read source data System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("./images/test.png")); // Generate thumbnail int width = img.Width / 4; int height = img.Height / 4; System.Drawing.Image thumb = img.GetThumbnailImage(width, height, myCallback, IntPtr.Zero); // Output Response.Clear(); Response.ClearHeaders(); Response.AddHeader("Content-Type", "image/png"); MemoryStream ms = new MemoryStream(); thumb.Save(ms, ImageFormat.Png); ms.WriteTo(Context.Response.OutputStream); Response.End(); } private bool ThumbnailCallback() { return false; } } }