隨著 ASP.NET 開源生態擴展,CodePlex 上的 ASP.NET Image Generation 專案為 Web 應用提供了強大的伺服器端圖片處理能力:即時產生、轉換、快取圖片,無需手動管理 System.Drawing 繁瑣細節。
<cc1:GeneratedImage> 控件負責輸出 <img> 標籤,ImageHandlerUrl 指向處理端點。ImageHandler 的 IHttpHandler 實作 GenerateImage 方法,回傳 ImageInfo 物件封裝的 Bitmap。Default.aspx
<%@ Register Assembly="Microsoft.Web.GeneratedImage" Namespace="Microsoft.Web" TagPrefix="cc1" %>
<cc1:GeneratedImage ID="GeneratedImage1" runat="server" ImageHandlerUrl="~/TextImageHandler.ashx">
<Parameters>
<cc1:ImageParameter Name="Hello" Value="動態文字圖片" />
</Parameters>
</cc1:GeneratedImage>
TextImageHandler.ashx
public class TextImageHandler : ImageHandler
{
public TextImageHandler() { ContentType = System.Drawing.Imaging.ImageFormat.Png; }
public override ImageInfo GenerateImage(NameValueCollection parameters)
{
Bitmap bmp = new Bitmap(300, 60);
using (Graphics g = Graphics.FromImage(bmp))
{
g.Clear(Color.AliceBlue);
g.DrawString(parameters["Hello"], new Font(FontFamily.GenericSansSerif, 16), Brushes.Black, 0, 0);
}
return new ImageInfo(bmp);
}
}

ImageParameter 支援型別轉換、預設值、驗證,乾淨分離邏輯與呈現。ImageHandler 實作水印、縮圖、格式轉換等複雜管線。需 .NET Framework 3.5 以上,下載:CodePlex 專案頁。