title: Bad text rendering using DrawString on top of transparent pixels
body: <p>When rendering text into a bitmap, I find that text looks very bad when rendered on top of an area with non-opaque alpha. The problem is progressively worse as the underlying pixels become more transparent. If I had to guess I'd say that when underlying pixels are transparent, the text renderer draws any anti-aliased 'gray' pixels as solid black.</p>
  
  <p>Here are some screenshots:</p>
  
  <p><strong>Text drawn on top of transparent pixels:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/AS1zC.png" alt="alt text"></p>
  
  <p><strong>Text drawn on top of semi-transparent pixels:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/fv0HK.png" alt="alt text"></p>
  
  <p><strong>Text drawn on opaque pixels:</strong></p>
  
  <p><img src="https://i.stack.imgur.com/tDvXj.png" alt="alt text"></p>
  
  <p>Here is the code used to render the text:</p>
  
  <pre><code>g.SmoothingMode = SmoothingMode.HighQuality;
  g.DrawString("Press the spacebar", Font, Brushes.Black, textLeft, textTop);
  </code></pre>