基于SVG的网络刺绣数字化程序
什么是刺绣数字化?这是一个很专业的名称。在国内俗称打版(打带),英文Punching,源自打孔(早先的机器是读孔带的)。刺绣数字化是一个过程,是一个把刺绣图案转换成一系列点的偏移数据组以及针的状态特殊的机器码的过程,最终生成一个机器可读的刺绣图形文件(目前比较流行的有Tajima的DST文件等等)。随着矢量图(Vector)的新起,对刺绣数字化来说有着重要的意义。因为在所有的刺绣数字化程序中所以的对象都应该是基于矢量图的,这样对设计的可编辑性十分有帮助。像Pulse Microsystems Ltd的Tajima DG/ML by Pulse使用的VBE(Vector Based Embroidery)技术就是跟目前矢量技术完美兼容的。
SVG(Scalable Vector Graphics),可缩放矢量图形。基于XML,SVG元素是指示如何绘制图像的一些指令,阅读器(Viewer)解释这些指令,把SVG图像在指定设备上显示出来。使用SVG可以在网页上显示出各种各样的高质量的矢量图形,支持很多您想象得出的功能:几何图形、动画、渐变色、滤镜效果等。最关键的是,它是完全用普通文本来描述的!也就是说,这是一种专门为网络而设计的基于文本的图像格式。
1999年2月,SVG草案出台,经过不断地修改更新,最终形成了第一份实验性的实现规范。2001年7月,W3C正式发布了SVG图像格式建议书,这就是SVG规范(目前版本为1.1)。目前,该规范是被提议的推荐标准,到8月底将成为W3C 的正式推荐标准。W3C对SVG的解释是:SVG是一种使用XML来描述二维图像的语言。它允许3种形式的图像对象存在,分别是矢量图形、点阵图像和文本。各种图像对象能够组合、变换,并且能修改其样式,也能够定义成预处理对象。文本是XML名字空间中的有效字符,这些字符能被作为SVG图像的关键字而存留在搜索引擎中。SVG的功能包括嵌套变换、路径剪裁、透明度处理、滤镜效果以及其他扩展,同时,SVG支持动画和交互,也支持完整的XML的DOM接口。任何一种SVG图像元素都能使用脚本来处理类似于鼠标单击、双击以及键盘输入等事件。因为同Web标准兼容的缘故,SVG还能够在同一个Web页面里凭着继承自XML的名字空间等特性来完成一系列交互操作。
SVG在数字化刺绣上的应用理论上应该可以实现一些很复杂的操作。利用SVG画画已经能够实现了,如果需要应用在刺绣上就只是需要把对应的对象通过一些转换算法转换成刺绣图形文件的点位并且生成刺绣图形文件。刺绣图形文件说到底其实就是一根线到底,不停的X、Y>>X、Y,中途Z轴的一些变化构成的。
最近利用SVG+ASP实现了对刺绣图形文件的读取显示。这里是一个演示(快捷键R可以播放动画),这是对DST文件解析后自动生成的SVG。需要浏览器插件支持。Firefox原生支持SVG,但不全部。要看动画和一些互交还是需要插件的支持。

很有意思的尝试,
这样才能看到你的演示?