网页程序--asp在线名片生成系统

来源:互联网 发布:收据打印软件免费版 编辑:程序博客网 时间:2024/05/18 05:03

      大家应该去过在线生成图片的网站。比如说生成搞笑证书什么的。还可以把自己头像弄到人民币上去。

  下面我这个例子是我制作的丝路签名系统。请大家举一反三。。由于时间的关系。我只开发了两种。都是丝路英雄的。

  平台:ASP+ASPJPEG

  样式一:(早期版本,做的比较差)

  


样式二:

 

 

  经过充分考虑,我还是选择了以"GET"的方式传递参数,以"URL"的方式接收参数。以后后面写。后面还会写用"POST"传递参数的方法。

下面请看样式二的源代码(着蓝色部分,还有部分功能没有开发的):

<%
name=Request("name")  '获取URL中的name参数,以下几个同理
m=Request("m")
q=Request("q")
x=Request("x")   
y=Request("y")
t1=Request("t1")
t2=Request("t2")
t3=Request("t3")
photo=Request("photo")
%>
<%
IF T1="" then          '当TI参数为空时,给与初始值,以下同理
 t1="风云逍遥盟诚聘高手"
end if  
%>
<%
IF T3="" then
 t3="【风云逍遥盟签发】"
end if
%>
<%
IF x="" then
 x="388"
end if
%>
<%
IF y="" then
 y="-291"
end if
%>
<%
IF photo="" then
 photo="12.jpg"
end if
%>
<%
IF name="" then
 name="X血喂X"
end if
%>
<%
IF m="" then
 m="风云逍遥盟"
end if
%>
<%
IF q="" then
 q="上海22区"
end if
%>
<%

Response.ContentType = "image/GIF"  '定义输出类型,这个非常重要.它的作用后面我解释
Set Jpeg = Server.CreateObject("Persits.Jpeg")     '调用ASPJPEG组件
Jpeg.Open Server.MapPath("x.png")    
'打开图片,x.png是图片路径,这里作为背景的图片

Set Jpeg1 = Server.CreateObject("Persits.Jpeg")   '调用ASPJPEG组件
Jpeg1.Open Server.MapPath(photo)   '水印图片,这里作头像的那个图片.photo是路径
Jpeg1.Width=110
Jpeg1.Height=140  '定义头像的大小
aa=Jpeg.Binary  '把背景图片以2进制赋值给AA
Jpeg.Canvas.Font.Color = &HEE05BF  '字体颜色,请注意,颜色是16进制的为了表示16进制在数值前加“H”
Jpeg.Canvas.Font.Family = "FrLt DFGirl"  '字体,这个是华康少女体
Jpeg.Canvas.Font.Size = 14 '字体大小
Jpeg.Canvas.Font.ShadowColor = &H000000   '字体阴影色彩
Jpeg.Canvas.Font.Bold = False    '是否加粗
Jpeg.Canvas.PrintText 195,40,name    '这里的数字指距离左边,距离顶边,写到图片上的文字,name是URL那里获得的参数
Jpeg.Canvas.PrintText 180,60,q     '这里几个都是写文本
Jpeg.Canvas.PrintText 175,80,M    '如果你愿意还可以自己写时间,自己研究,使用NOW即可
Jpeg.Canvas.PrintText 226,100,x
Jpeg.Canvas.PrintText 256,100,y
Jpeg.Canvas.PrintText 140,140,t1
Jpeg.Canvas.PrintText 140,160,t2
Jpeg.Canvas.PrintText 225,160,t3

 

'下面是边框处理
Jpeg.Canvas.Pen.Color = &H000000   '颜色
Jpeg.Canvas.Pen.Width = 1  '画笔宽度
Jpeg.Canvas.Brush.Solid = False  '加粗
Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height 
'输出X,Y坐标和高度,宽度 Jpeg.Width是指背景图片的宽度


Jpeg.Canvas.DrawImage 17, 39, Jpeg1 '合并水印图片,这里的数值是头像距离背景图片的左边,顶端的数值
bb=Jpeg.Binary
Set MyJpeg = Server.CreateObject("Persits.Jpeg")  

MyJpeg.OpenBinary aa 

 

'以图片形式打开2进制的AA

Set Logo = Server.CreateObject("Persits.Jpeg") 
Logo.OpenBinary bb 
MyJpeg.DrawImage 0,0, Logo, 0.9  '0.9是透明度 
cc=MyJpeg.Binary '将最终结果赋值给cc,这时也可以生成目标图片了 
response.BinaryWrite cc  '将二进输出给浏览器 
 
set aa=nothing   '释放
set bb=nothing 
set cc=nothing 
Jpeg.close   '关闭
Jpeg1.Close 
MyJpeg.Close 
Logo.Close

%>

 

 

讲讲为什么我使用"GET"的方式传递参数,和代码中

Response.ContentType = "image/GIF" 这句的意义
  因为GET是通过传递的参数都在URL中.所以使得这个地址可以别的地方引用.

比如说我在自家电脑上测试的地址是

http://localhost/ip/img/cs.asp?name=X%D1%AA%CE%B9X&Q=%C9%CF%BA%A322%C7%F8&d=&M=&z=&X=388&Y=-291&c=&photo=22.jpg&T1=&T2=&T3=

        这个地址可以在别的地方引用,比如说QQ空间啊什么的.而且还支持动态数据(比如说访客IP啊,访问这个图片的时间啊.)

如果你直接上传到QQ空间,那就是一个死图片了.

Response.ContentType = "image/GIF" 

        这句话一直在为动态数据图片作贡献.

        定义生成的格式为"GIF"的图片格式.这样做的好处就是在别的地方引用这个图片的时候而不是一个网页,大家可以试试去掉这句.同样能生成图片.但你查看它的属性看看.是个网页吧.保存看看.默认还是保存网页吧.

        另外一个原因是:GIF和PNG两种格式可以保留图片透明效果,当然你可以定义为PNG格式。

        那下面我给大家自定义页面的部分源代码

先看看图片

这样操作就简单多了吧。现在我说明下

使用表单。方式GET.目标是CS.ASP

<form method="get" action="cs.asp"> 

 

关于头像部分请大家认真看这个代码,非常精简:

选择头像:

<select name="photo" size="1" class="input2" style="border: 1px

solid #E6E6E6" onChange="document.images ['iface'].src=options[selectedIndex].value;">
                                  <option value="1.jpg" selected="selected">NO.  01</option>
                                  <%for i=2 to 35%>
                                  <option value="<%=i%>.jpg">NO.
                                    <%if i<10 then
     response.write "0"&i
     else response.write i
     end if
     %>
                                  </option>
                                  <%next%>
                              </select>

<img src="1.jpg" name="iface" id="iface" />

 

 

大家请注意这句 <%for i=2 to 35%>

我这里弄了35个头像,所以就是35.如果大家有更多头像只要轻松修改下就可以了

 

同样的方式可以制作别的类型图片,我就不充胖子了。如果需要整套的源代码我也可以提供。

原创粉丝点击