私はグラフィックスのプログラミングにまったく慣れていないため、VB はあまり使用していないため、ここで壁にぶつかっています。基本的にすべてのコードを実行しましたが、欠けているのは、画像の周りに透明なパディング/境界線を数ピクセル追加することだけで、行き詰まりました。私は周りを見回しましたが、私が見た例は圧倒的に複雑に見え、やり過ぎのように見えました (コードのページ上のページ)。
ポインタやわかりやすいチュートリアル/例は非常に高く評価されます。
以下に現在のコードを追加しました。
現在のコード
Dim img As Image = New Bitmap(100, 100)
Dim Drawing As Graphics = Graphics.FromImage(img)
Dim rand As New Random
Dim bgcolor As Color = Color.FromArgb(rand.Next(64, 196), rand.Next(64, 196), rand.Next(64, 196))
Dim family As FontFamily = Nothing
Dim fontName As String = "Lucida Sans Typewriter"
Dim fontSize As Single = 42
Using fontTester As New Font(fontName, fontSize, FontStyle.Regular, GraphicsUnit.Pixel)
If fontTester.Name = fontName Then
family = New FontFamily("Lucida Sans Typewriter")
Else
Try
Dim privateFonts As New System.Drawing.Text.PrivateFontCollection()
privateFonts.AddFontFile(HttpContext.Current.Server.MapPath("~/") + "\styles\fonts\LTYPE.ttf")
Dim font As New System.Drawing.Font(privateFonts.Families(0), 42)
family = font.FontFamily
Catch ex As Exception
family = New FontFamily("Arial")
End Try
End If
End Using
Dim FontText As Font = New Font(family, 42, FontStyle.Regular)
Drawing.Clear(bgcolor)
Dim textBrush As Brush = New SolidBrush(Color.White)
Drawing.DrawString(initials, FontText, textBrush, 7, 16)
Drawing.Save()
textBrush.Dispose()
Drawing.Dispose()