Maybe asking this way will generate some ideas.
In this code below, "g.DrawString(frmBrand.Text.Trim, font, Brushes.White, 3, 40)" produces nice white text on the image.
However, using "g.DrawString(frmBrand.Text.Trim, font, Brushes.Red, 3, 40)" looks horrible on the same image.
Why? Is it the interaction of the drawn text pixels over the underlying jpg image pixels that causes this?
Is it generally better to perhaps create a rectangle with transparent canvas, place my text in it of desired color and then place this image
over the underlying pic (versus the drawing text method)?
If frmBrand.Text.Trim.Length > 0 Then
pics = Directory.GetFiles(cpdir, "*.jpg")
Dim cpudir As String = "c:\inetpub\websites\sitename\subdir\" + frmEventFolderName.Text.Trim
Dim myBrush As Brush = New SolidBrush(Color.FromName(ddlBrandTextColor.SelectedValue))
For i = 0 To picCount - 1
Dim FileToDrawTextOn As String = pics(i)
Dim originalBitmap As New Bitmap(FileToDrawTextOn)
Dim font As System.Drawing.Font = New Font("Arial", 12, FontStyle.Regular)
Dim g As Graphics = Graphics.FromImage(originalBitmap)
g.DrawImage(originalBitmap, 640, 480)
g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
g.PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality
g.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit
g.DrawString(frmBrand.Text.Trim, font, Brushes.White, 3, 40)
g.Save()
nfcpn = cpudir + "\" + "cpb_" + Right(pics(i), 11)
originalBitmap.Save(nfcpn, System.Drawing.Imaging.ImageFormat.Jpeg)
g.Dispose()
originalBitmap.Dispose()
File.Delete(pics(i))
File.Move(nfcpn, pics(i))
Next
End If