图6-12 画笔功能流程逻辑:
图6-13 画笔流程逻辑
6.2.4漫游
当画板大小不够书写范围时,用户通过漫游功能扩展画板,将书写内容移动到画板可视范围外。
1、 选择漫游工具;
2、 监听鼠标,计算鼠标点击坐标到当前坐标的偏移量。
3、 重新设置画板中图形的参数与位置。
6.2.5几何图形原文请+QQ32,49114辣.文^论,文'网
绘制图形,提供可绘制的图形有正方形、矩形、直线。
1、 选择绘制工具,根据鼠标事件获取statrPoint、EndPoint;
2、 为图形model设置参数。
3、 直线:graphics.drawLine(startPt, endPt);
正方形、矩形:graphics.drawRectangle(startPt.x, startPt.y, width, height)
图形工具模块流程图:图6-14 绘图流程
6.2.6导出
将画板内容导出为XML或者PDF格式。在Canvas绘制图形的过程中画板已经保存图形参数,如线宽,start Point、end Point、旋转角度等。导出PDF主要Itext导出。
导出XML:
1、 建立document对象, 一个xml文件可以看成一个文档, 所以必须先创建一个文档。
2、 生成xml写入流对象writer FileWriter,写入字符流 File(文件和目录路径名的抽象表示形式)。
3、写入操作,循环mainfigure,获取图形个数,依次写入XML文档中。
for (int i = 0; i < mainFigure.getChildren().size(); i++)
{
IBaseControl control = ((IBaseFigure) mainFigure.getChildren().get(i)).getControl();
if (!(control instanceof ResizeControl) && !(control instanceof RecycleControl))
{
rootElement.add(control.getModel().getParams());
doc.write(sw);毕业论文
http://www.751com.cn/ }
}
writer.write(doc);
导出PDF:
1、 建立com.lowagie.text.Document对象的实例。
Document document = new Document();
2、 建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。
PDFWriter.getInstance(document, new FileOutputStream("导出PDF.PDF"));
3、 打开文档。
document.open(); 原文请+QQ324,9114辣.文^论,文'网
4、 向文档中添加内容,。
document.add(new Paragraph(""));
5、 关闭文档。
document.close();
画板图形导出PDF文件,获取画板图形参数,利用java.awt.Graphics2D在PDF文件中绘图。
6.2.7导入
将XML文件导入到画板中,生成图形(XML文件必须由画板导出的)。这也是一个解析XML的过程:
1、 创建File、SAXReader对象;
2、 获取XML文件的根元素;
3、 依次解析子元素,根据子元素的ID名创建control对象。
4、 获取control模型,将元素的属性添加到control的模型参数中;
5、 最终将control的figure添加到mainfigure中。
导入功能流程图: 图6-15 导入XML
6.2.8橡皮檫
提供了一个清页功能,清除画板中的内容,画板可重新书写。
<< 上一页 [11] [12] [13] [14] 下一页
电子白板软件UI界面设计 第13页下载如图片无法显示或论文不完整,请联系qq752018766