public static Bitmap Generate(string text, int size) { string text2 = InitialsImageGenerator.MakeInitials(text); Bitmap bitmap = new Bitmap(size, size); Color color = InitialsImageGenerator.CreateRandomColor(text); using (Font font = new Font("Segoe UI", (float)size / 3f, FontStyle.Regular, GraphicsUnit.Pixel)) { using (Graphics graphics = Graphics.FromImage(bitmap)) { using (Brush brush = new SolidBrush(InitialsImageGenerator.ContrastColor(color))) { SizeF sizeF = graphics.MeasureString(text2, font); float x = (float)size / 2f - sizeF.Width / 2f; float y = (float)size / 2f - sizeF.Height / 2f; PointF point = new PointF(x, y); graphics.Clear(color); graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.TextRenderingHint = TextRenderingHint.AntiAlias; graphics.DrawString(text2, font, brush, point); graphics.Flush(); } } } return(bitmap); }
public static Stream GenerateAsStream(string text, int size) { Stream result; using (Bitmap bitmap = InitialsImageGenerator.Generate(text, size)) { MemoryStream memoryStream = new MemoryStream(65536); bitmap.Save(memoryStream, ImageFormat.Png); result = memoryStream; } return(result); }