C# 防采集 文字生成图片
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Text;
using System.IO;
/// <summary>
/// 本页面只作为一个图片被调用
/// </summary>
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SetFontImage(Request.QueryString["familyName"], Convert.ToInt32(Request.QueryString["fontSize"]), Request.QueryString["targetString"]);
}
/// <summary>
/// 生成文字图片
/// </summary>
/// <param name="familyName">字体</param>
/// <param name="fontSize">字号</param>
/// <param name="targetString">生成内容</param>
public void SetFontImage(string familyName,int fontSize,string targetString)
{
//创建位图对象
Bitmap objBitmap = null;
//创建绘图图面对象
Graphics g = null;
//创建并初始化字体对象
Font stringFont = new Font(familyName, fontSize, FontStyle.Bold);
//文本布局对象
StringFormat stringFormat = new StringFormat();
//设置文本格式
stringFormat.FormatFlags = StringFormatFlags.NoWrap;
//绘图过程
try
{
//实例化位图对象
objBitmap = new Bitmap(1, 1);
//实例化绘图图面对象,将位图对象放入图面中
g = Graphics.FromImage(objBitmap);
//获取欲绘制文字图片的高宽
SizeF stringSize = g.MeasureString(targetString, stringFont);
int nWidth = (int)stringSize.Width;
int nHeight = (int)stringSize.Height;
//获取高宽后释放无用的图面对象资源和位图对象资源
g.Dispose();
objBitmap.Dispose();
//根据已获得的高宽实例化新的位图对象
objBitmap = new Bitmap(nWidth, nHeight);
//根据新的位图对象实例化新的绘图图面对象
g = Graphics.FromImage(objBitmap);
//填充图片,可以指定背景颜色,开始坐标和图片高宽,指定文本呈现样式
g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, nWidth, nHeight));
g.TextRenderingHint = TextRenderingHint.AntiAlias;
//开始绘制
g.DrawString(targetString, stringFont, new SolidBrush(Color.Black), new PointF(0, 0), stringFormat);
//生成图片
objBitmap.Save(Response.OutputStream, ImageFormat.Gif);
}
catch (Exception ee)
{
Response.Write(ee.ToString());
}
finally
{
if (null != g) g.Dispose();
if (null != objBitmap) objBitmap.Dispose();
Response.End();
}
}
本文摘自http://hi.baidu.com/zjali/item/1fff021e7c5e9cf787ad4eeb
好贴,绝对要支持下!!~~
static/image/common/sigline.gif
电源适配器 顶一下吧~ 很少见的好帖了
static/image/common/sigline.gif
银行官网
页:
[1]