绘制不同颜色的文本图片
private Bitmap strToImage(string str) { Font f = new Font(new FontFamily("宋体"), 10, FontStyle.Regular); float fontSizeWidth = 96 / (72 / f.Size); // 字体实际像素宽度 float fontSizeHeight = 96 / (72 / f.Size); // 字体实际像素高度 //创建此大小的图片 Bitmap bmp = new Bitmap(str.Length * (int)(fontSizeWidth), 22); Graphics g = Graphics.FromImage(bmp); int fIndex= str.IndexOf(findText); string startStr = str.Substring(0, fIndex); float y= (23- (int)fontSizeHeight) / 2; g.DrawString(startStr, f, new SolidBrush(System.Drawing.Color.Black), new PointF(fontSizeWidth / 2,y)); float startLenth = startStr.Length * (int)(fontSizeWidth ); g.DrawString(findText, f, new SolidBrush(System.Drawing.Color.Red), new PointF(startLenth, y));//绘制红字 string enStr = str.Substring(fIndex + findText.Length); float findTxLenth = findText.Length * (int)(fontSizeWidth ); g.DrawString(enStr, f, new SolidBrush(System.Drawing.Color.Black), new PointF(startLenth+findTxLenth , y)); g.Save(); g.Dispose(); return bmp; }
本文来自博客园,作者:NLazyo,转载请注明原文链接:https://www.cnblogs.com/bile/p/3173126.html