title: Graphics.Drawstring looks nice in PictureBox but horrible in a Bitmap
body: <p>I am trying to use <code>DrawString</code> to write text as an image and then rotate it 90 degrees.  It works fine with both a bitmap or directly on a PictureBox, but the big difference is in the quality.  The <code>PictureBox</code> text drawn has great quality and looks nice.  When I draw it on an image it looks horrible and blocky.  I've made a few changes to try and get it to look nicer, but it doesn't look nearly as nice as it should.  </p>
  
  <p>Sample code:</p>
  
  <p>Use a Windows Forms project and place 2 picture boxes on it and a button and run it with the following code to see what I mean:</p>
  
  <pre><code>Public Class Form1
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  
         Dim g As System.Drawing.Graphics
         g = PictureBox1.CreateGraphics
  
         ' x.DrawRectangle(New Pen(Brushes.White, 200), New Rectangle(0, 0, 200, 200))
         g.TranslateTransform(10.0F, 0.0F)
         g.RotateTransform(90)
         g.DrawString("MM Components", New Font("Arial", 7, FontStyle.Regular), Brushes.DarkBlue, New PointF(0, 0))
  
         Dim g2 As System.Drawing.Graphics
         Dim img As New Bitmap(300, 300, Drawing.Imaging.PixelFormat.Format24bppRgb)
         g2 = Graphics.FromImage(img)
  
         g2.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
         g2.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit
         g2.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
         ' img.SetResolution(150, 150)
  
         ' x.DrawRectangle(New Pen(Brushes.White, 200), New Rectangle(0, 0, 200, 200))
         g2.TranslateTransform(10.0F, 0.0F)
         g2.RotateTransform(90)
         g2.FillRectangle(Brushes.White, 0, 0, 300, 300)
         g2.DrawString("MM Components", New Font("Arial", 7, FontStyle.Regular), Brushes.DarkBlue, New PointF(0, 0))
         PictureBox2.Image = img
  
        'System.Threading.Thread.Sleep(20)
     End Sub
  End Class
  </code></pre>