快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用Asp.net实现简朴的文字水印

    常常看见MOP上有人贴那种动态的图片,就是把一个字符串作为参数传给一个动态网页,就会生成一个带有这个字符串的图片,这个叫做文字水印。像什么原来的熊猫系列,还有后来的大树和金条,都挺有意思。这东西看着挺好玩的,想做个玩玩。查了查资料,发现用.net来做这个是很轻易的,就用Asp.net写了一个异常简朴的。全部的代码如下:

<%@ Import Namespace=\"System\" %>
<%@ Import Names
pace=\"System.IO\" %>
<%@ Import Namespace=\"System.Drawing\" %>

<%@ Page language=\"vb\" %>

<script runat=\"server\">
    Dim FilePath As String = Server.MapPath(\"Talk.JPG\")
   
    Sub Page_Load(Sender As Object, E As EventArgs)
        Dim image As System.Drawing.Image = System.Drawing.Image.FromFile( FilePath )
        Dim g As Graphics = Graphics.FromImage(image)
        g.DrawImage(image, 0, 0, image.Width, image.Height)
        Dim f As Font = new Font(\"华文行楷\", 40)
        Dim b As Brush = new SolidBrush(Color.Black)
        Dim s As String = Left(Request.QueryString(\"str\"), 7)
        g.DrawString(s, f, b, 20, 190)
        image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
        g.Dispose()
        image.Dispose()
    End Sub   
</script>

只要把这个代码存成一个aspx文件,比如Test.aspx。然后放到wwwroot里面(假设你的虚拟目录是默认的)。再做一个Talk.JPG的图片,就可以在(20, 190)这个地方打印出“华文行楷”这种字体的文字了。调用方式很简朴:

http://localhost/Test.aspx?str=测试一下下!

对于打印的位置和字体还有图片文件都是可以自己设定的。另外,假如出现了以e文作为参数就可以正常显示,而对于中文就无法显示的情况,是因为Asp.net的web.config设置不准确造成了,需要进行如下设置:

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<configuration>
    <system.web>
    <globalization requestEncoding=\"gb2312\" responseEncoding=\"gb2312\" culture=\"zh-CN\" fileEncoding=\"gb2312\"/>
    </system.web>
</configuration>
这样,就可以正常显示了。做个玩玩吧,挺好玩的。
返回类别: 教程
上一教程: 细细品味ASP.NET(五)
下一教程: asp+版本简朴的留言板的制作(二)

您可以阅读与"用Asp.net实现简朴的文字水印"相关的教程:
· 在.net中实现与ASP完全兼容的MD5算法(包括中文字符)
· ASP.NET下MVC设计模式的实现
· 用Asp.net实现基于XML的留言簿之三
· 在Asp.net中如何实现弹出提示对话框()
· ASP.NET中利用存储过程实现模糊查询
    微笑服务 优质保证 索取样品