asp.net 2.0 将文字转成图片(文字生成图片)
2008-01-10 15:48
381 查看
《asp.net 2.0 将文字转成图片》
出处 :http://blog.csdn.net/LEOlws/archive/2006/12/30/1469370.aspx
作者:甜饼旺
--------------------------- 代码开始 -----------------------------
CompNamePic.aspx(图片要显示在哪个页面中的图片框中)
CompNamePic.Text = "需要显示的文字";
----- ----- ----- ----- ----- ----- ----- -----
CompNamePic.ascx.cs(用于显示自定义文字图片的控件):
using System;
public partial class Shop_UC_CompNamePic : System.Web.UI.UserControl
...{
private string _Text = null;
...#region
public string Text
...{
get
...{
if (_Text == null || _Text.Trim().Length <= 0)
...{
return "";
}
return _Text;
}
set ...{ _Text = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
...{
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
...{
imgText.ImageUrl = "CompNamePic.aspx?Text=" + Server.UrlEncode(Text);
base.Render(writer);
}
}
----- ----- ----- ----- ----- ----- ----- -----
CompNamePic.aspx.cs(将生成的图片打印到网页):
using System;
public partial class Shop_CompNamePic : System.Web.UI.Page
...{
...#region
private string CompName
...{
get
...{
if (Request.QueryString["Text"] == null || Request.QueryString["Text"].Trim().Length <= 0)
...{
return "";
}
return Server.UrlDecode(Request.QueryString["Text"]);
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
...{
CreateImgText cit = new CreateImgText(CompName);
Response.BinaryWrite(cit.CreateTextByte());
}
}
----- ----- ----- ----- ----- ----- ----- -----
CreateImgText.cs(用于将文字转换成图片的类):
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Text;
using System.Windows.Forms;
/**//**//**//// <summary>
/// 创建图片文字
/// </summary>
public class CreateImgText
...{
private string _Text = null;
private Color _TextColor = Color.Empty;
private FontStyle _TextStyle = FontStyle.Bold;
private int _Width;
private int _Height;
...#region
/**//**//**//// <summary>
/// 要显示的文本
/// </summary>
public string Text
...{
get
...{
if (_Text == null || _Text.Trim().Length <= 0)
...{
return "图片加载中";
}
return _Text;
}
set ...{ _Text = value; }
}
/**//**//**//// <summary>
/// 文本颜色
/// </summary>
public Color TextColor
...{
get
...{
if (_TextColor == Color.Empty)
...{
return Color.Black;
}
return _TextColor;
}
set ...{ _TextColor = value; }
}
/**//**//**//// <summary>
/// 文本样式 加粗 倾斜 普通等
/// </summary>
public FontStyle TextStyle
...{
get ...{ return _TextStyle; }
set ...{ _TextStyle = value; }
}
/**//**//**//// <summary>
/// 图片的宽
/// </summary>
public int Width
...{
get ...{ return _Width; }
//set { _Width = value; }
}
/**//**//**//// <summary>
/// 图片的高
/// </summary>
public int Height
...{
get ...{ return _Height; }
//set { _Height = value; }
}
#endregion
...#region
public CreateImgText()
...{
}
public CreateImgText(string strText)
...{
_Text = strText;
}
public CreateImgText(string strText,Color TextColor)
...{
_Text = strText;
_TextColor = TextColor;
}
public CreateImgText(string strText, Color TextColor, FontStyle TextStyle)
...{
_Text = strText;
_TextColor = TextColor;
_TextStyle = TextStyle;
}
#endregion
/**//**//**//// <summary>
/// 创建输出的文字流
/// </summary>
/// <returns></returns>
public byte[] CreateTextByte()
...{
Font font = new Font("黑体", 20, TextStyle);
Brush brush = new SolidBrush(TextColor);
// 计算文字的宽和高
Size sizeText = TextRenderer.MeasureText(Text, font);
_Width = sizeText.Width;
_Height = sizeText.Height;
// 创建一个位图
Bitmap bmp = new Bitmap(sizeText.Width, sizeText.Height);
// 设置画布
Graphics grph = Graphics.FromImage(bmp);
// 指定消除锯齿 文字
grph.TextRenderingHint = TextRenderingHint.AntiAlias;
// 清除画布
grph.Clear(Color.White);
// 在画布上画图案 内容,字体,画刷,坐标
grph.DrawString(Text, font, brush, 0, 0);
// 新建一个内存流
MemoryStream stream = new MemoryStream();
// 将图片保存在内存流中
bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] byteBuf = new byte[stream.Length];
byteBuf = stream.ToArray();
//资源回收
bmp.Dispose();
grph.Dispose();
stream.Close();
return byteBuf;
}
}
--------------------------- 代码结束 -----------------------------
相关文章推荐
- [转]asp.net 2.0 将文字转成图片(文字生成图片)
- asp.net 上传图片,生成缩略图,生成图片水印,文字水印
- 『ASP.NET 2.0』FileUpload图片上传自动生成缩略图
- asp.net上传生成略铺图,文字水印图,图片水印图
- ASP.net生成文字图片
- asp.net 上传图片,生成缩略图,生成图片水印,文字水印
- ASP.net生成文字图片
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- ASP.NET 2.0上传图片生成缩略图类
- ASP.net生成文字图片
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- ASP.net生成文字图片
- ASP.net生成文字图片
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- ASP.net生成文字图片
- [网络收集]使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- asp.net 2.0 将文字转换成图片
- asp.net生成缩略图、文字图片水印
- Asp.Net 生成验证码,清空缓存,分页方法,生成图片水印,防注入过滤,页面过滤HTML,文字转图片