Bir bitmap üzerinde metin çizmek için aşağıdaki kodu kullanıyorum:GDI +? Kullanarak metin çizerken kesin bir yazı tipi boyutu tanımlamak mümkün mü?
using (Font font = new Font("Arial", 10.0f, FontStyle.Bold, GraphicsUnit.Point))
{
//draw the text
graphics.DrawString("Some text", font, Brushes.White, rect, stringFormat);
}
Güzel çalışır. İşte oluşturulur metin: Ben metin biraz daha büyük yapmak istiyorum
. Ben yazı tipi boyutu gibi 11 ayarlarsanız, burada i elde ediyoruz: Bu ne istiyorum için çok büyük
. I 10.25, 10.5 ve çalıştı ama aynı zamanda Pixel
için GraphicsUnit
ayarlamak deneyin 10
aynı sonucu verir ama aynı (özel yazı tipi boyutunu ayarlamak için bir olasılığı) davranır. GDI + (C#) kullanarak metin çizerken
, bir possiblity hale metnin "ince ayar" boyutu vardır: İşte
sorum şu?
DÜZENLEME: daha tam kod parçacığı (istendiği gibi):
using (Bitmap bitmap = new Bitmap(width, height))
using (Graphics graphics = Graphics.FromImage(bitmap))
using (Font font = new Font("Arial", 10.0f, FontStyle.Bold, GraphicsUnit.Point))
{
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
Rectangle rect = new Rectangle(0, 0, width, height);
//method 1
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
graphics.DrawString("Some text", font, Brushes.White, rect, stringFormat);
//method 2
TextFormatFlags flags = TextFormatFlags.HorizontalCenter |
TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak;
TextRenderer.DrawText(graphics, "Some text", font, rect, Color.White, flags);
bitmap.Save(stream, ImageFormat.Png);
}
deneyin 'TextRenderingHint.ClearTypeGridFit' – leppie
Ben graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit çalıştı, ama aynı sonuçlar – tigrou
Ben senin' StringFormat' yanlış şüpheli verir. IIRC, ben FitBlackBox'u başarı ile kullandım. Aslında, çok özel yükseklik ayarlarına dayanarak yazı tipi genişliğini tam olarak bir tam sayı olacak şekilde değiştirdim. – leppie