日期:2011-10-06 浏览次数:20439 次
/**//// <summary>
/// 功能:将文字写入图片
/// 日期:2006-11-20
/// 作者:杨义贤
/// </summary>
/// <param name="strfileName">文件名字</param>
/// <param name="strtext">需要写入的文字</param>
private void TextToImage(string strfileName,string strtext)
{
if(!File.Exists(MapPath(strfileName)))
{
throw new FileNotFoundException("文件不存在!");
}
if( strtext == string.Empty )
{
return;
}
//还需要判断文件类型是否为图像类型
System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(strfileName));
Bitmap bitmap = new Bitmap(image,image.Width,image.Height);
Graphics grap = Graphics.FromImage(bitmap);
float fontSize = 24.0f; //字体大小
float textWidth = strtext.Length*fontSize; //文本的长度
//下面定义一个矩形区域,以后在这个矩形里画上白底黑字
float rectX = 0;
float rectY = 0;
float rectWidth = strtext.Length*(fontSize+12);
float rectHeight = fontSize+8;
string strFont;//定义字体类型
//声明矩形域
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
strFont = ddlfont.SelectedItem.Text.ToString().Trim();
Font font = new Font(strFont,fontSize); //定义字体
Brush whiteBrush = new SolidBrush(Color.White); //白笔刷,画文字用
Brush blackBrush = new SolidBrush(Color.Transparent); //黑笔刷,画背景用
grap.FillRectangle(blackBrush,rectX,rectY,rectWidth,rectHeight);
grap.