public Image(ImageMode mode, ImageSize size, ImageColor color) { //Debug.Assert(mode == ImageMode.Rgba); //FIXME:??? //PixelFormat. __img = new System.Drawing.Bitmap(size.Width, size.Height, PixelFormat.Format32bppArgb); System.Drawing.Color _backColor = System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B); using (System.Drawing.Graphics drawing = System.Drawing.Graphics.FromImage(__img)) { drawing.Clear(_backColor); drawing.Save(); } }
public void DrawText(string text, ImageColor color, Font font, ImagePosition position) { System.Drawing.Color _color = System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B); System.Drawing.Color _backColor = System.Drawing.Color.FromArgb(255, 255, 0, 0); using (System.Drawing.Graphics drawing = System.Drawing.Graphics.FromImage(__img)) using (Brush textBrush = new SolidBrush(_color)) { //Debug.WriteLine("==============>DrawText: " + text); //drawing.Clear(_backColor2); //http://bbs.csdn.net/topics/350255409 drawing.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; //drawing.DrawString(text, font.__font, textBrush, position.X, position.Y); //see measureWidth, StringFormat should set same time StringFormat sf = StringFormat.GenericTypographic; sf.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces; drawing.DrawString(text, font.__font, textBrush, position.X, position.Y, sf); drawing.Save(); } }