0
にGDI
を使用して、Code 128
バーコードを描画しようとしています。私はベクタ形式として動作するはず.ttf
フォントを持って(rastrない):GDI描画バーコードのテキスト
var bmp = new Bitmap(900, 100);
var g = Graphics.FromImage(bmp);
g.Clear(Color.White);
g.SmoothingMode = SmoothingMode.None;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawString(value, new Font("Code 128", 72), Brushes.Black, 0, 50);
g.DrawPath(new Pen(Brushes.Black, (float) 1.0), new GraphicsPath());
g.Flush();
結果画像が広い、私は0.5にそれをスケールする(X軸のみ)。しかし、私がXを450にスケールすると、画像がはっきりしなくなります。私はそのイメージ(それはまだ900)が軽くぼやける気づい:
私はイメージがここのようになります場合は、私のbroblemが解決されると思う:
ように文字列を描画する方法?
また、補間モードをオフに切り替えてください!結果は、最も近いピクセルに適合しなければならない。 – TaW
ありがとう@taw試しましたが、結果は同じです – burzhuy
これらは私のために働いています: 'e.Graphics.SmoothingMode = SmoothingMode.None; e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor; ' – TaW