Essaye ce code :
publicstaticImage DrawOutlinedText(string text, Font font, Color foreColor, Color lineColor, int lineWidth) {
Bitmap retBitmap = null;
using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)) {
Size sz = g.MeasureString(text, font).ToSize();
using(Bitmap bmp = newBitmap(sz.Width + 2*lineWidth, sz.Height + 2*lineWidth))
using(Graphics gBmp = Graphics.FromImage(bmp))
using(SolidBrush brLine = newSolidBrush(lineColor))
using (SolidBrush brFore = newSolidBrush(foreColor)) {
gBmp.SmoothingMode = SmoothingMode.HighQuality;
gBmp.InterpolationMode = InterpolationMode.HighQualityBilinear;
gBmp.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
for (int i = 0; i < lineWidth * 2; i++)
{
for (int j = 0; j < lineWidth * 2; j++)
{
gBmp.DrawString(text, font, brLine, newPointF((float)i, (float)j));
}
}
gBmp.DrawString(text, font, brFore, newPointF(lineWidth, lineWidth));
retBitmap = (Bitmap)bmp.Clone();
}
return retBitmap;
}
}
Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]