質問

私は、バッファに文字列を描画するとき、

、結果の出力は、私が期待する道アンチエイリアスではありません。このコードは、問題を示して...ただ、標準のスマートデバイスプロジェクトのForm1.csでこれを入れます:

protected override void OnPaint(PaintEventArgs e)
{
  Bitmap buffer = new Bitmap(Width, Height, PixelFormat.Format32bppRgb);
  using(Graphics g = Graphics.FromImage(buffer))
  {
    g.Clear(Color.White);
    g.DrawString("Hello, World", Font, new SolidBrush(Color.Black), 5, 5);
  }
  e.Graphics.DrawImage(buffer, 0, 0);
}
私はちょうどPaintEventArgsで渡されたGraphicsオブジェクトに文字列を描画する場合は、

一方で、それは私が期待するのと同様のClearTypeでレンダリングします。

私はそれがフォントスムージングを使用して作る方法で、私のグラフィックスバッファを作成するために持って理解が、私はそれを行うための方法が表示されません。

役に立ちましたか?

解決

は、単純な問題となっていることが判明しました。 PixelFormat.Format32bppRgbを除去することによりそれがうまく働きました。あなたのバッファが同じピクセルフォーマットを持っていることを確認する必要があるように見える...

他のヒント

あなたのGraphicsオブジェクトのSmoothingModeプロパティを設定します:

g.SmoothingMode = SmoothingMode.AntiAlias;

あなたは(これにはいくつかのラッパーが存在する)いるgdiplus.dllを使用する必要がありますが、それは、Windows Mobile 6 Professionalの(ない標準)でのみ使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top