欢迎来到天天文库
浏览记录
ID:472125
大小:61.47 KB
页数:6页
时间:2017-08-07
《基于Web应用的电子印章制作控件【开题报告】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
毕业设计开题报告计算机科学与技术基于Web应用的电子印章制作控件一、选题的背景与意义传统的商务办公模式,为了保证文件确由当事人或某机关所签发以保证文件未被篡改,必须在纸张上签字或者盖上公章。但传统公章却也有被盗用或被仿制的威胁,其使用性面临极大考验。在网络高速发展的现代,传统的办公模式逐渐向电子商务转变。在网络高速发展的大环境下,文件传递已采取电子邮件的方式,重要的文件签署之类的问题使得电子印章的应用需求也越发重视。何为电子印章?电子签章泛指所有以电子形式存在,依附在电子文件并与其逻辑相关,可用以辨识电子文件签署者身份,保证文件的完整性,并表示签署者同意电子文件所陈述事项的内容。那么电子印章的优势在哪里?首先电子印章具难以仿制性。制作印章需要大量参数,包括印章类型、宽度、长度、字体颜色、边线颜色、所要打印的字符串、字符串字体、字符串相隔间距等参数,其中颜色还有三个三原色参数。通过这些参数,经过一些算法,可以精确的得到包括每个需要打印的字缩放后的大小,椭圆边线处字体倾斜程度。经过一系列的计算,以及绘制,可以得到一个只有百万分之一的可能性相同的印章。其次,制作出的电子印章还有法律保护。网络安全技术的不断发展以及《中华人民共和国电子签名法》的制定,给电子签章的兴起奠定了安全技术的基础。最重要的是,即使有人试图仿冒印章,也难以成功。制作印章除了计算绘图算法外,还需要加上许多复杂的加密/解密算法。已经成熟运用的算法有数字签名:RSA公钥体制,算法标准公钥长度1024、2048、4096bits;数字加/解密:国家密码管理局认可的加密算法;数字水印:印章水印生成之后经许可的加密算法进行封装,以防盗取;指纹识别和数字签名相结合。 如今市面上已有制作成型的产品,并已上市。印章种类繁多,包含圆形印章,三角印章,四边形印章等。成品可以应用于各行各业,如制造业、商业、金融、电信、电力、建筑等行业。为企业的网上协同办公提供了安全保证。但是,一些产品还是有些缺陷,例如字体在椭圆长轴旋转处处理不够平滑,由于椭圆旋转的问题,字体间距有差异。可以很明显看出在椭圆长轴处,字符处理不够细腻。二、研究的基本内容与拟解决的主要问题:研究的基本内容:1.JavaBean封装对象(印章)所有参数。电子印章制作控件的架构设计,包括控件调用接口设计与实现。2.基本绘制功能的设计与实现,包含各类印章的接口参数、图形与字符的绘制算法等。3.gif格式或png格式的透明图片的生成。4.控件调用测试程序拟解决的问题:1.字符绘画时字符处理平滑的问题2.字符绘画时字符间距的处理3.利用动态库,输出gif格式或png格式的透明图片以方便嵌入web、文本以及pdf中三、研究的方法与技术路线:1、电子印章制作空间的架构GUI层算法工具JavaBean根据算法结果在画板上绘制电子印章调用绘制算法传输数据电子印章基本数据 GUI层通过用户输入可以得到绘制印章所需的参数,通过按键封装成一个对象。JavaBean包装了所有参数。GUI层通过传输JavaBean对象调用算法工具包,经过一系列的计算可以得到绘制结果。1、电子印章制作文本角度位置的算法印章生成的一种一个重要部分,也是难点部分就是绘制某个字,要计算该字的角度和实际的位置。Aα假设某字在A点位置,椭圆长轴为width,短轴为height,字符串长度为n,字符串总占用角度为α,A点坐标为(X,Y)。则A点的角度为α=360°-(β/n*((n+1)/2-1)+90°)A点坐标X=cosα*widthY=sinα*heightA点所在切线斜率KK=height2/width2*X/YK的切线角度(θ)θ=tan-1(K)/π*180°在根据4个象限,得到真正的切线对应的角度第一四象限:θ=180°-θ第二三象限:θ=-θ字体的旋转由已知A点坐标(X,Y),对A点进行平移变换,结果A点的新坐标(X1,Y1)为: 对A点进行旋转,结果A点的新坐标(X1,Y1)为:X1=Xcos(θ)+Ysin(θ),Y1=-Xsin(θ)+Ycos(θ)字符经过平移和旋转后所得的坐标应当如下:xB10dxcos(θ)sin(θ)0xByB=01dy*-sin(θ)cos(θ)0*yBW001001W1、Java绘制接口在Java中绘制图像和字体的类为Graphics。Graphics是所有图形的抽象基类,其中拥有本次设计所需的一些方法,包括绘画圆弧,绘画字符,设置字符字体之类。Graphics2D继承了Graphics类,其主要用途是提供对几何形状,坐标转换、文本布局具有更复杂的控制,也是本项目研究的重点之一。形成透明图像为了形成透明图像,调用DLL动态数据库是必不可少的。Java中,调用DLL动态链接库的通常使用JNI方案。JNI的应用方案是基于Java类和本地函数相映射的。调用步骤相对麻烦,涉及到Java编程以及C/C++编程。首先,我们需要创建一个Java类,这个Java类需要调用SerialComm.dll库。作为Java环境端的设计,在此类中需要装载库,并声明方法。代码如下:publicclassJSerialComm类名{PublicJSerialComm(类名)(){}//空的构造方法static{System.loaclLilbrary("SerialComm.dl");(类库名)//调用DLL库SerialComm.dl}publicnativestaticvoidSetComm();//串口初始化和设置publicnativestaticintWatchSerialComm();//开始检测串口publicnativestaticintJStopWatch(); //停止检测串口publicstaticvoidmain(String[]args){mtstart,stop;JSerialCommcomm=newJSerialComm();comm.SetComm();start=comm.WatchSerialComm();Stop=comm.JStopWatch();}}使用命令"javac类文件.java"编译代码,a编译通过后,使用命令"javah类文件.java"生成头文件——类名.h——JSerialComm.java.h,其主要内容如下:......#include"jni.h"......INIEXPORTjintJNICALLJava_JSerialComm_SetComm(JNIEnv*,jclass);INIEXPORTjintJNICALLJava_JSerialComm_WatchSerialComm(JNIEnv*,jclass);INIEXPORTjintJNICALLJava_JSerialComm_JStopWatch((JNIEnv*,jclass);之后要在VC++中继续工作。建立工程,命名为JSerialComm,将JSerialComm.h、jni.h&jni_md.h添加的工程中。编写JSerialComm.cpp完成三个函数的实现。并通过VC++编译.cpp&.h文件,生成JSerialComm.dll文件。这个dll文件既可被Java访问也可被VC++访问。最后将dll文件复制到JSerialComm.java所在目录中,将JSerialComm.java中main方法去掉在编译生成JSerialComm.class,这个Java类便可结合SerialComm.dll供任何Java访问。四、研究的总体安排与进度:12月:搭建项目整体框架,阅读相关算法文献,翻译学习Java动态链接库的调用。1月:完成电子印章图形绘制。2月上旬:完成动态链接库使用,输出GIF格式的图片。2月中下旬:寻求指导,完善整个系统。3月:撰写论文,参加答辩。五、主要参考文献: [1]汪漪,周俊林,塔依尔艾力;维、汉、英混排电子印章的关键技术与实现[J],计算机工程与应用,2008,44(25):239-241.[2]原佳丽,杨广仁,孟祥增;Java调用VC++的动态链接库[J],开发研究与设计技术[3]王聪华,王建国;Java调用VC++DLL实现串口GPS的访问[J].,信息技术,2010,1:68-70.[4]韩洪慧;发展公开、公正的第三代电子印章系统[J],标准与技术追踪,2006,10:16-18[5]赵建勋,Java图像处理[J],中国科技信息,2006,07:209-210[6]贝雨馨,徐晓霞;用Java语言实现GIF图像文件的编码[J],延边大学学报,2002,28(2):121-125[7]卫洪春,JNI调用本地方法的原理及应用[J],计算机与信息技术,2010,06:84-86[8]杜文峰,刘艳艳;用JavaApplet实现的属性导航控件[J],电脑编程技巧与维护,2002,2:29-35[9]SophiaDrossopoulou,GiovanniLagorio,SusanEisenbach;AflexiblemodelfordynamiclinkinginJavaandC#[M],2006[10]ChrisBucholtz,JNIToutsInfiniBand,VARBusiness,Jan2002
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处