labs.insert-title.com

GDI+ Font Embedding

The Code: h1.aspx


<%@ Page EnableSessionState="false" Trace=True Language="vb" debug="true" validateRequest=false %> 
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Drawing.Imaging" %>
<%@ Import namespace="System.Drawing.Drawing2D" %>
<%@ Import namespace="System.Drawing.Text" %>

<script language="VB" runat="server">
Sub Page_Load(sender as Object, e as EventArgs)
dim myString as String
myString = request.querystring("h1")

Dim baseMap as Bitmap = new Bitmap(600, 50)
Dim myGraphic as Graphics = Graphics.FromImage(baseMap)
Dim upBrush as SolidBrush = new SolidBrush(Color.FromArgb(0,0,0))
Dim backBrush as SolidBrush = new SolidBrush(Color.FromArgb(255,255,255))
Dim familyNameAndStyle As String 
Dim FontCollection As New PrivateFontCollection()  
FontCollection.AddFontFile(Server.MapPath("TYPEWRIT.TTF"))  
Dim thisFont As FontFamily
thisFont = FontCollection.Families(0)  
Dim fontTitle As New Font(thisFont, 18)  
'or use a system font
'Dim fontTitle as Font = new Font("tahoma", 16)
familyNameAndStyle = thisFont.Name

myGraphic.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit  
myGraphic.SmoothingMode = SmoothingMode.Antialias ' antialias objects  
myGraphic.FillRectangle(backBrush, 0, 0, 600, 50)  
myGraphic.DrawString(myString, fontTitle, upBrush, 5, 5)

Response.ContentType = "image/jpeg"
baseMap.Save(Response.OutputStream, ImageFormat.JPEG)
myGraphic.Dispose()
baseMap.Dispose()
End Sub
</script>

Usage


<img src="h1.aspx?h1=Hello World" />

Example

Comments temporarily disabled for now, you can find me @joemaddalone