最近用asp.net做了个涂鸦板接口,有些小心得,写篇文章帮助下可能有需要的人.
在看下面的内容前,让我们先了解一些有关JavaApplet的基础知识,如果熟悉applet的,可以跳过此部分不看.
目前网络上的主流涂鸦板均由JavaApplet开发,似乎有少量用js开发的,不过论功能和易用度与applet相比都有较大差距,所以这里我只介绍applet的涂鸦板.applet程序又叫小应用程序,需要jvm支持,如果你的PC不能运行applet程序,你可以去下载一个jvm http://java-virtual-machine.net/download.html
下面介绍下applet程序的嵌入的写法.一个applet程序在html里大概会写成下面这种样子
<applet code=CodeTest.class width=400 height=400 codebase="CodePath/"
ARCHIVE="Code.jar">
<param name="test" value="0">
</applet>
code表示applet对应的类,width和height是小应用程序的长宽,codebase是路径,archive提供的jar可以一定程度的提高编译速度.
如果你要自己生成一个javaapplet程序,你需要首先下载个jdk,可以去http://java.sun.com/ 下载最新的版本.
之后你就可以用javac来编译你写好的applet程序,这个附个最简单的applet程序
// ----------- HelloWorldApplet.java
import java.awt.*;
import java.applet.*;
public class HelloWorldApplet extends Applet {
public void paint(Graphics g){
g.drawString ("Hello World!",20,20);
}
}
好,applet就介绍到这,下面将开始我们的正题,为asp.net定制涂鸦板接口.
我选来做接口的涂鸦板是OekakiBBS2.80版,这是个在网上比较流行的涂鸦板,由某日本人开发,可惜不开源,也没什么开发文档,最早是只为php程序定做的,后来国内有人做出了asp的接口,但是.net 版的一直没有出现,这也是促使我开发的原始动力.
首先,我们来看看这个涂鸦板的applet的写法.
<applet
name="OekakiBBS"
code="a.q.class"
codebase="JavaApplet/poo.oekakibbs.com.PB/"
ARCHIVE="oekakibbs.jar"
width="100%"
height="<%=BroadHeight%>"
style="margin:0px">
<!-- 从下面的参数表开始介绍,只介绍重点参数,上面的参数参看上面有关applet的介绍 -->
<param name="popup" value="0"> <!-- 是否弹出窗口 -->
<param name="undo" value="50"> <!-- 撤消支持次数 -->
<param name="anime" value="1">
<param name="<%=ModePar1%>" value="<%=VirtualPath%>"> <!-- 模式参数1 -->
<param name="<%=ModePar2%>" value="Upload/UserPaint/"> <!-- 模式参数2 -->
<param name="animeplay" value="1">
<param name="width" value="800">
<param name="height" value="600">
<param name="pwidth" value="800">
<param name="pheight" value="600">
<param name="url" value="AddPost.aspx?ForumID=<%=ForumContext.Current.ForumID%>"><!-- 最后跳转页面 -->
<param name="cgi" value="DataProcess.aspx?width=<%=PWidth%>&height=<%=PHeight%>&ForumID=<%=ForumContext.Current.ForumID%>&PaintMode=<%=PaintMode%>"><!-- 数据处理页面-->
<param name="tooltype" value="full">
<param name="animesimple" value="0">
<param name="tooljpgpng" value="1">
<param name="toolpng" value="1">
<param name="tooljpg" value="1">
<param name="passwd" value="">
<param name="passwd2" value="">
<param name="brushpath" value="./setting/">
<param name="allbrushes" value="5">
<param name="sampling" value="1">
<param name="webid" value="SFComic">
<param name="picw" value="<%=PWidth%>">
<param name="pich" value="<%=PHeight%>">
<param name="target" value="_self">
<param name="max_size" value="1024">
<param name="baseC" value="DDDDDD">
<param name="brightC" value="FAFAFA">
<param name="darkC" value="666666">
<param name="backC" value="bbbbbb">
<param name="mask" value="5">
<param name="toolPaintmode" value="1">
<param name="toolmask" value="1">
<param name="toollayer" value="1">
<param name="toolalpha" value="1">
<param name="toolwidth" value="200">
<param name="main_bannar_file" value="./PB.PNG">
<param name="bannar_sec" value="6">
<param name="bannar_file" value="./Tt.gif">
<param name="catalog" value="1">
<param name="catalogwidth" value="200">
<param name="catalogheight" value="200">
<!-- 消息提示参数,由于太少,这里省略 -->
</applet>
今天先到这,改天继续写.