Вот код для выполнения задачи, но он предназначен для WinForms.Не должно быть сложным применить его к веб-серверу:
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.windows.Forms
Public Class Form1
Sub Form1_Paint(ByVal sender As Object, _
ByVal e As PaintEventArgs) Handles MyBase.Paint
'g is the graphics context used to do the drawing.'
'gp is the path used to draw the circular gradient background'
'f is a generic font for drawing'
Using g = e.Graphics, gp As New GraphicsPath(), _
f As New Font(FontFamily.GenericSansSerif, 20, FontStyle.Bold)
'add the ellipse which will be used for the '
'circular gradient to the graphics path '
gp.AddEllipse(Me.ClientRectangle)
'then create a path gradient brush from the graphics path '
'created earlier to do the drawing on the background '
Using pgb As New PathGradientBrush(gp)
'set the center colour '
pgb.CenterColor = Color.White
'and then make all the colours around it a different colour '
pgb.SurroundColors = New Color() {Color.LightSteelBlue}
'fill a rectangle with the border colour of the gradient brush'
g.FillRectangle(Brushes.LightSteelBlue, Me.ClientRectangle)
'and then draw the gradient on top'
g.FillRectangle(pgb, Me.ClientRectangle)
'The secret to shadowed text is that the shadow is drawn first'
'and it is usually offset to the lower right of the main text '
'so we draw the shadow with a shade of grey '
g.DrawString("SOME TEXT", f, Brushes.Gray, 12, 12)
'after which we draw the text itself'
g.DrawString("SOME TEXT", f, Brushes.Black, 10, 10)
End Using
End Using
End Sub
End Class
Приведенный выше код рисует непосредственно на форме.Если вы хотите рисовать вместо изображения, измените код следующим образом:
Function GetImage(....) As Image
Dim bmp As New Bitmap(200,200) 'you may use any size here'
Dim bmpRect As New Rectangle(Point.Empty, bmp.Size)
Using g = Graphics.FromImage(bmp), ...
.....
End Using
return bmp
End Sub
И обязательно используйте bmpRect
вместо Me.ClientSize
.
Я надеюсь, что этоработает, потому что это полностью WinForms.