js+html空间数据编码问题--以姓名为例(代码设涉及文件读取,文本数字提取,特别是文本x,y坐标的提取)
来源:互联网 发布:php周末培训班 编辑:程序博客网 时间:2024/05/18 17:55
格式问题
• ESRI ArcInfo Generate文件格式
• 点数据格式 <ID>, <X,Y> , {Angle},{Scale} END
• 线数据格式 <ID> <X,Y>
END
END
以某一个字为例:
L18,6.58.5,79,8 end L2 10.5,6.59.5,8.5endL3 7.5,8.59.5,8.511.5,8.5endL4 7,10.59.5,10.511.5,10.5endL5 9.5,8.59.5,10.59.5,11.59,12.57.5,14endL6 9.5,11.510.5,12.511.5,13.5endL712.5,712.5,14.5endL8 12.5,715,713,1014.5,1115,1214.5,12.514,13 13,12.5end代码描述:
要求:
1、绘制16x16网格,并在其上书写实习人的姓名,字体采用等线体
2、依据网格对网格中的汉字笔画进行几何特征的编码
3、按照ArcInfo的Gen格式形成编码文件(上图)
4、编写程序读取Gen格式文件,并将结果绘制在屏幕上
结果:
源码:
<html> <head> <title>名称编码</title> </head> <body> <input id="fileInput" type="file" onchange="processFiles()"/> <br> <canvas id="myCanvas" width="1000" height="600" style="border:1px solid #c3c3c3">your browser does not support the canvas tag </canvas> <script> function processFiles(){ var file=document.getElementById("fileInput").files[0]; var reader=new FileReader(); reader.readAsText(file); reader.onload=function(e) { var str = this.result;//读取文本 var number = new Array(); number= digitalExtraction(str,number);//提取数字并存入数组 draw(number);//画图 } } //提取数字,并存入数组 function digitalExtraction(str,number){ var heap= str.replace(/[^0-9.L]/ig,"A"); var numcharacter="";//存储数字字符 var number =new Array();//提取数字数组 var i=0; var flag=0;//heap字符串当前标记 var n=0;//标识数字与字符转换位置 var character=heap[flag];//获取字符串的一个字符 // document.write(heap); while(character!=null){ if(character=="L"){ number[i++]=-1; flag+=2; character=heap[flag]; } if(character!="A"){ n=1; numcharacter+=character; } else{ if(n){ number[i++]=parseFloat(numcharacter); numcharacter=""; n=0; } } character=heap[++flag]; } return number; } function draw(number){ var canvas=document.getElementById('myCanvas'); var cxt=canvas.getContext('2d'); var n= number.length; number[n]=-1; var n= number.length; var flag=0; var x= new Array(); var y =new Array(); var j=0; for(var i=1,j=0;i<n;i++){ if(number[i]!=-1){ x[j]=number[i]*10; y[j]=number[++i]*10; j++; }else{ cxt.moveTo(x[0],y[0]); for(var k=1;k<j;k++){ cxt.lineTo(x[k],y[k]); } cxt.stroke(); j=0; } } } </script> </body> </html>
阅读全文
1 0
- js+html空间数据编码问题--以姓名为例(代码设涉及文件读取,文本数字提取,特别是文本x,y坐标的提取)
- js空间平面坐标变换(涉及文件读取,文本提取数字,特别是x,y点,以及html下拉框设计)
- 提取文本右边的数字
- poi读取word简历(伪word格式的doc文件 )提取文本内容报错
- 文本的关键字提取
- 提取HTML中的文本信息
- 提取HTML中的文本信息
- html片段提取纯文本
- 文本提取
- 输入(0,400,300)(地图名,x坐标,y坐标)这样的字符串数据,按照','分隔符提取,分别放到char [10],int a,int b中
- old_blog 《赤印》的文本提取
- 调用下面的方法屏蔽所有html标签提取文本
- python xpath 提取html 中使用<br>分割的文本
- 提取网页文本(1)
- 搜索引擎(2)从html中提取文本内容
- 去html格式,提取text纯文本
- 如何提取html文档中的文本内容
- 使用HtmlParser提取HTML文本块
- main函数的三个参数
- CGAffineTransformMake…… 和 CGAffineTransform……的区别
- uva 10891
- chromedriver与chrome对应版本及下载地址
- java.net.SocketException: Unexpected end of file from server
- js+html空间数据编码问题--以姓名为例(代码设涉及文件读取,文本数字提取,特别是文本x,y坐标的提取)
- 移动数据分析服务使用教程
- win7如何添加开机启动程序(开机就自动运行打开)
- 用户信息表练习/删除/全选/添加
- Idea和eclipse优缺点
- spring和springmvc整合案例
- drawText()中的文字基线
- smarty3.1.30 模板引擎的使用
- 谈谈HTTP协议中的短轮询、长轮询、长连接和短连接