代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.Net
】
Asp.net 生成文字图片
作者:
Dezai.CN
/ 发布于
2011/3/15
/
465
这是个非常有用的功能,这个功能可以将网站的关键文字信息写出图片,不然别人采集
<div>这个页面负责接受参数生成图片,<font color="#ff0000">注意再这个时候这个页面本身就是一个图片了,调用他就像调用image那样,调用方法在最下面</font> 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(); } } } 调用方法: 在其他的页面中| /* <td style="width: 16px"> <img src="Default.aspx?familyName=宋体&fontSize=12&targetString=我做的生成文字图片通用类" id="img1" runat="server"/>asdfasdfad</td> */ </div>
试试其它关键字
文字图片
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3