<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>shuiyuan2004的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=shuiyuan2004</link>
<description>shuiyuan2004的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[SVG 文本编辑器]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=shuiyuan2004&amp;id=33445</link>
<author>shuiyuan2004</author>
<pubDate>2008/4/3 14:48:58</pubDate>
<description><![CDATA[&nbsp;&nbsp;&nbsp; 前面介绍的工具，有的同时拥有设计编辑器和代码编辑器的功能（SVGDeveloper和Inkscape，虽然Inkscape的代码编辑器并不是那么的好用），有的只作为设计工具（Adobe&nbsp;Illustrator&nbsp;CS 和 CorelDraw），也有只作为代码编辑器的（XMLSpy）<br><br>&nbsp;&nbsp;&nbsp; 可能有的同志比较喜欢纯粹的文本编辑方式，比较快速，简便。<br><br>&nbsp;&nbsp;&nbsp; XMLSpy是一款非常优秀的XML编辑器，只是软件较大，启动很慢。<br><br>&nbsp;&nbsp;&nbsp; 现在介绍几款轻巧的，功能上也不错的文本编辑器。<br><br><b>XMLWriter<br></b>&nbsp; &nbsp; 一款适合于专业 XML 开发者及初学者的 XML 编辑工具，支持 XML、XSL、DTD/Schema、CSS、HTML<br>等文本格式的文件编辑和调试。你可使用 CSS、XSL 等语言在一个集成的预览窗口中格式化你的 XML 文件。XMLwriter<br>有一个直观性、个性化的用户界面让使用者编辑，还具有书签功能，自动查找并替代。其他的功能还有 XML<br>联机帮助、插件管理、即时色彩编码转换、树型结构查看、批量及命令行处理、可扩充的能力及更多功能。<br><br>下载地址：http://www.orsoon.com/Soft/4931.html（XMLWriter V2.7 Build 210 绿色汉化版）<br><br><a href="http://www.orsoon.com/Soft/UploadPic/2007/200721313450111.JPG" target="_blank"><img src="http://www.orsoon.com/Soft/UploadPic/2007/200721313450111.JPG" border="0"></a><br><br>-------------------------------------------------------------------------<br>编写代码时也有小小的智能提示，并且可以按F4直接在集成的预览窗口查看效果<br><img style="border-color: rgb(0, 0, 0); width: 593px; height: 477px;" alt="XMLwriter" src="http://blogger.org.cn/blog/uploadfile/20084314500569.JPG" border="0"><br>不过该汉化版本，有时候中文会显示乱码，有兴趣的同志可以下载英文版的试试<br>-------------------------------------------------------------------------<br><br><b>EmEditor <br><br></b>&nbsp;&nbsp;&nbsp; 一款功能强大的文本编辑器！它启动速度快，可以完全代替Windows自带的记事本，足以胜任日常的文本编辑工作，而且良好地支持Unicode<br>和中文字符，还支持２０多种编程语言的语法突出显示。此专业版，增强了程序的编辑功能，使其更适合编程人员对个别程序代码进行编辑修改.官方最新版本，新<br>加入了四个窗口插件，已包含汉化版本。<br><br>下载地址：http://www.orsoon.com/Soft/4367.html（EmEditor Professional(文本编辑器)V7.00.4 Final 绿色汉化修正版）<br><br><img src="http://www.orsoon.com/Soft/UploadPic/2008-3/20083291362616309.jpg" border="0"><br><br>-------------------------------------------------------------------------<br>这可能是编程人员比较常用的工具了，打开速度相当快，可以右键-&gt;EmEditor打开，可以点击“插件”-&gt;“Webpreview”，在下方打开预览窗口，可以按F5刷新查看效果：<br><a><img style="border-color: rgb(0, 0, 0); width: 566px; height: 409px;" alt="EmEditor" src="http://blogger.org.cn/blog/uploadfile/200843145039805.JPG" border="0"></a><br><br>-------------------------------------------------------------------------<br><br><b>Notepad++<br><br></b>Notepad++ 是一款非常有特色的编辑器，是开源软件，可以免费使用。 <br>功能有： <br>①、内置支持多达 27 种语法高亮度显示(囊括各种常见的源代码、脚本，值得一提的是，完美支持 .nfo 文件查看)，也支持自定义语言； <br>②、可自动检测文件类型，根据关键字显示节点，节点可自由折叠/打开，代码显示得非常有层次感！这是此软件最具特色的体现之一； <br>③、可打开双窗口，在分窗口中又可打开多个子窗口，允许快捷切换全屏显示模式(F11)，支持鼠标滚轮改变文档显示比例，等等； <br>④、提供数个特色东东，如 邻行互换位置、宏功能，等等...现在网上有很多文件编辑器，这个却是不可多得的一款，不论是日常使用还是手写编程代码，都能让你体会到它独有的优势和方便。 <br>支持的语言: C, C++ , Java , C#, XML, HTML, PHP, Javas cript ,<br>RC resource file, makefile, ASCII art file <br>(extension .nfo , screenshot1, screenshot2), doxygen, <br>ini file, batch file, ASP , VB/VBS source files , SQL ,<br>Objective-C , CSS, Pascal, Perl, Python and Lua.<br><br>下载地址：http://www.orsoon.com/Soft/4779.html（Notepad++(文本编辑器)绿色汉化版 V4.82）<br><br><img src="http://www.orsoon.com/Soft/UploadPic/2008-3/20083101031483160.jpg" border="0"><br><br>-------------------------------------------------------------------------<br>这是我非常喜欢的一款文本编辑器，尤其可以自己选择显示语言，可以自己定义显示的关键字颜色，自由折叠结点……等功能我都挺喜欢。虽然软件本身没有集成预览窗口，不过可以点击“运行”-&gt;“launch in IE”等，在浏览器中打开。<br><img style="border-color: rgb(0, 0, 0); width: 596px; height: 455px;" alt="Notepad++" src="uploadfile/200843145217228.JPG" border="0"><br><br>-------------------------------------------------------------------------<br><br>&nbsp;&nbsp;&nbsp; 以上三款文本编辑器，都不过3、4M，跟XMLSpy一百多M比起来，启动当然快多了。对XMLSpy没有耐心的同志们可以试试这些编辑器。<br>]]></description>
</item><item>
<title><![CDATA[SVG 设计工具]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=shuiyuan2004&amp;id=33436</link>
<author>shuiyuan2004</author>
<pubDate>2008/4/3 10:59:42</pubDate>
<description><![CDATA[&nbsp;&nbsp;&nbsp; 除了在SVG 编辑器一篇中讲到的开源软件Inkscape外，能够设计SVG图形作品的软件工具还有Adobe Illustrator以及CorelDraw等。<br><br>&nbsp;&nbsp;&nbsp; 这些矢量绘图工具都能存储成SVG格式的图片，如果不涉及代码编写，脚本等，可以使用这些工具来进行SVG图形设计。<br><br><b>Adobe&nbsp;Illustrator&nbsp;CS<br>
<br></b>&nbsp;&nbsp;&nbsp; 业界标准矢量图形软件，Adobe&nbsp;Illustrator&nbsp;CS&nbsp;不仅是一套前所未有的全新设计工具，还能提供最能展现您创造力所需的增强效能。<br>&nbsp;&nbsp;&nbsp; 使用必要的向量工具探索新路径<br>&nbsp;&nbsp;&nbsp; 探索试验色彩的新方法、运用新的绘图工具和控制项加快工作速度, 以及使用&nbsp;&nbsp;&nbsp;&nbsp; Adobe &nbsp;Illustrator&nbsp; CS3 软体製作适用於列印、网页、行动与动画设计的图稿。<br><br>Adobe Illustrator CS3全新功能 <p>即时色彩<br>使用「即时色彩」探索、套用和控制颜色变化; 「即时色彩」可让您选取任何图片, 并以互动的方式编辑颜色, 而能立即看到结果。 使用「色彩参考」面板以快速选择色调、色相或调和色彩组合。</p> <p>Adobe Flash 整合<br>将原生 Illustrator 档案匯入 Flash CS3 Professional, 或複製 Illustrator 的图稿并贴在 Flash 上, 其路径、锚点、渐层、剪裁遮色片和符号均保持不变。 此外也会保留图层、群组和物件名称。</p> <p>绘图工具和控制项<br>比以往更快速和流畅地在 Illustrator 中绘图。 以更容易、更有弹性的方式选取锚点, 加上作业效能的提升以及全新的「橡皮擦工具」, 均可帮助您有效地以直觉化方式建立图稿。</p> <p>提升的作业效能<br>主要作业的效能提升, 包括更快速的萤幕重绘、物件移动、移动检视、移位、缩放和变形功能, 让您享受更迅速的绘图和编辑作业。</p> <p>「控制」面板<br>使用区分内容的「控制」面板中的锚点控制项、剪裁遮色片、封套扭曲等功能, 让您以更快的方式瞭解更多的选项, 并释放萤幕空间。</p> <p>橡皮擦工具<br>使用「橡皮擦工具」可快速移除图片中的区域, 就像在 Photoshop 中擦除像素一样简单, 而且可以完全控制擦除的宽度、形状和平滑度。</p> <p>新增文件描述档<br>选取所有类型媒体预先编译的描述档, 让您轻鬆建立图稿, 此外储存可指定设定参数的自订描述档, 例如画板尺寸、样式和颜色空间。</p> <p>裁切区域工具<br>以互动的方式定义要列印或匯出的裁切区域。 选择含安全区域的预设网页比例或视讯格式, 并以直觉方式设定裁切标记。 视需要定义多个裁切区域, 并轻鬆地在这些区域间移动。</p> <p>分离模式<br>将物件分成一组进行编辑, 不乾扰图稿的其他部分。 轻鬆选取难以寻找的物件, 而不必重新堆迭、锁定或隐藏图层。</p> <p>Flash 符号<br>使用「符号」让重複的物件成为动画, 并同时维持档案大小不致过大。 定义并命名符号物件属性, 并在将图稿带入 Flash CS3 Professional 进行进一步的编辑时保留这些属性。</p>
<p>下载地址：http://www.orsoon.com/Soft/6954.html（Adobe Illustrator CS3绿色官方简体中文版）</p><br>
<br>
<img src="http://www.orsoon.com/Soft/UploadPic/2007-8/200782913273562887.jpg" border="0"><br>
<br>
<img src="http://www.orsoon.com/Soft/UploadPic/2007-8/200782913274758883.jpg" border="0"><br><br>---------------------------------------------------------------------------------------
<p>原先为了画一个3D的SVG饼图，在网上找到一个很精美的，AI格式的矢量图形文件，为此，安装了Adobe&nbsp;Illustrator&nbsp;CS，将AI文件另存为SVG文件，就可以对它进行分析了~</p>
<p>其它的功能没有深入了解，有兴趣的同志们可以试试。<br>
</p>
<p>---------------------------------------------------------------------------------------</p>
<p><b>CorelDraw</b></p><p>&nbsp;&nbsp;&nbsp; corel公司宣布屡获殊荣的coreldraw12创意软件包即将在2004年2月面市。coreldraw12创意软件的新生属性和智慧型工具将帮助用户成倍的提高工作效率。 <br>
<br>
&nbsp;&nbsp;&nbsp; 图像领域的专业和商业用户都将发现，强力的图像软件程序包将帮助他们更快的完成工作和项目，给客户留下极为深刻的印象。世界上最受欢迎的软件包coreldraw将帮助设计师在操作中减少点击步骤，节约时间。 <br>
　
　提供无限的价值，coreldraw12图像软件包提供给用户3个难以置信强力的图像应用程序。这套新组件包括coreldraw12插图、页面排版和
矢量绘图程序，corel photo-paint12数字图像处理程序和corel r.a.v.e 3动画创建程序。 <br>
</p>
<p>　　
“coreldraw12是因为杰出和革新的特性，为coreldraw图像程序赢得了一个长期的的声誉。这套新程序包超越了以往人们看到的任何图像程序
的水平。”世界市场的首席执行官brett
denly说。“coreldraw创意软件包回答了过去不可能完成的方法。她在设计师和工具中建立了更加深入的合作关系，提供了聪明的解释和用户需求的
反馈。用户将直接的感受到产品独特的印象。 <br>
</p>
<p>　　智慧的工具将减少设计时间和提高工作效率。 <br>
</p>
<p>　　coreldraw12通过引入智慧的工具使快速创作的进程变得更加容易。这些新的工具，整合了节约时间和增强并改进了corel富有盛名的文件兼容性，保证了截止时间到来前的重要性。</p>
<p>下载地址：http://www.orsoon.com/Soft/801.html（CorelDRAW 12绿色软件站专用版）</p>
教程下载地址：http://www.orsoon.com/Soft/6066.html（CorelDraw12循序渐进）
<p><a href="http://www.orsoon.com/Soft/UploadPic/2007-2/2007211174230215.jpg" target="_blank"><img src="http://www.orsoon.com/Soft/UploadPic/2007-2/2007211174230215.jpg" border="0"></a></p>

<p><a href="http://www.orsoon.com/Soft/UploadPic/2007-2/2007211174230351.JPG" target="_blank"><img src="http://www.orsoon.com/Soft/UploadPic/2007-2/2007211174230351.JPG" border="0"></a></p>---------------------------------------------------------------------------------------
CorelDraw 也是一个很不错的矢量图形设计软件，原先是以为那个AI文件可以用CorelDraw打开，才安装上的，不过CorelDraw只能打开版本较低的AI文件。操作界面觉得很酷~<br>
<br>
网上教程很多，估计使用这个软件的人不少啊~<br>
<p>---------------------------------------------------------------------------------------</p>

]]></description>
</item><item>
<title><![CDATA[调试SVG中的JavaScript脚本——IE篇]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=shuiyuan2004&amp;id=33402</link>
<author>shuiyuan2004</author>
<pubDate>2008/4/2 17:17:48</pubDate>
<description><![CDATA[&nbsp;&nbsp;&nbsp; 有些JavaScript开发者觉得脚本没什么好调试的，但是现如今，特别是随着Ajax技术的流行，JavaScript的代码动辄成千上万行，如果没有很好的调试手段，会让人很郁闷。<br>&nbsp;&nbsp;&nbsp; 但是JavaScript是一种脚本语言，没有像c#，Java那样拥有优秀的集成开发环境，我们也能在开发环境中设置断点、单步执行调试吗？答案是肯定的。下面将介绍一些相关的调试技术，让JavaScript的调试也变得不再困难！<br><br>一、传统调试<br>&nbsp;&nbsp;&nbsp; 所谓传统调试，其实是比较“土”的调试方法，是整天抱着“记事本”（或者同类的文本编辑软件，如Emeditor，Notepad++等）写JavaScript代码的开发者最常用的方法。存在，就有它的合理性，对于条件判断型调试而言，这种方式即快速又简便。<br><br>1、使用alert()函数<br>&nbsp;&nbsp;&nbsp; 使用方法很简单，函数的参数就是你想要显示的内容。执行这个函数后会弹出窗口，窗口可以显示一个变量值，或者你设定的字符串。通常在需要定位一个错误的位置、判断一个函数到底执行与否、显示一个变量值等情况下使用。例如：<br>&nbsp;&nbsp;&nbsp; var a = 10;<br>&nbsp;&nbsp;&nbsp; alert(a);<br>&nbsp;&nbsp;&nbsp; alert("OK");<br>&nbsp;&nbsp;&nbsp; 你可以在预期出错的位置之前加入该语句，判断错误是否在该位置之后，多次加入，就可以逐渐靠近错误位置了。<br>&nbsp;&nbsp;&nbsp; 在显示变量时，特别是显示与鼠标位置相关的变量时，可以使用（windows.status），例如：windows.status = evt.clientX+“.”+evt.clientY。这样就不会一直弹出窗口，不利于调试。<br><br>2、使用confirm()函数<br>&nbsp;&nbsp;&nbsp; 该函数会根据你赋予的参数的表达式返回true或者false，从而可以选择不同的分支执行。例如：<br>&nbsp;&nbsp;&nbsp; var a = 3;<br>&nbsp;&nbsp;&nbsp; if(confirm(a==3))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("Yes");<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("No");<br>&nbsp;&nbsp;&nbsp; 执行之后，弹出一个窗口，上面显示“a==3”这个表达式的值，即“true”，然后有“Yes”和“No”两个按钮，如下图所示。这个函数有些类似于c#等语言中的断言。<br><img style="border-color: rgb(0, 0, 0);" alt="图1 使用confirm函数" src="http://blogger.org.cn/blog/uploadfile/200842172446517.BMP" border="0"><br>图1 使用confirm()函数<br><br>3、使用prompt()函数<br>&nbsp;&nbsp;&nbsp; 这个函数就更“厉害”了，能够把一个值显示出来，允许你复制、粘贴，然后可以把这个值改变。比如：<br>&nbsp;&nbsp;&nbsp; var&nbsp; a = 3;<br>&nbsp;&nbsp;&nbsp; a = parseInt(prompt("Plese set it",a));<br>&nbsp;&nbsp;&nbsp; alert(a);<br>&nbsp;&nbsp;&nbsp; 这个例子先是定义了一个整数变量“a”，然后执行“prompt”函数，显示出这个变量，此时你可以更改这个值，“prompt”函数的返回值就是你修改后的值。然后在显示这个值时，已经是你修改后的值了。如图所示：<br><img style="border-color: rgb(0, 0, 0);" alt="图2-1使用prompt函数" src="http://blogger.org.cn/blog/uploadfile/200842172535264.BMP" border="0">&nbsp; <img style="border-color: rgb(0, 0, 0);" alt="图2-2 使用prompt函数" src="http://blogger.org.cn/blog/uploadfile/20084217265864.BMP" border="0"><br>图2 使用prompt()函数<br><br>4、其它经验<br>&nbsp;&nbsp;&nbsp; 1)如果出现对象为null或找不到对象，那就是“ID”、“name”的名称错误，或DOM写法不对，请检查错误所在的行。<br>&nbsp;&nbsp;&nbsp; 2)如果错误定位到一个函数的调用上，说明函数体有问题，到函数体内找原因。<br>&nbsp;&nbsp;&nbsp; 3)为了加快错误定位的速度，可以先注释掉一部分代码，逐步检查。<br>&nbsp;&nbsp;&nbsp; 4)IE的错误报告往往准确，比如提示行18错的话，有时候是行19有问题。<br><br>二、异常处理<br>&nbsp;&nbsp;&nbsp; 从IE5和Netscape6及后续版本开始，JavaScript中也可以像Java、c#等语言那样，用try、catch、finally来作异常处理，而不是让浏览器的错误控制台上显示错误信息。<br>&nbsp;&nbsp;&nbsp; 将可以导致或者抛出异常的语句封装在一个try…catch…finally结构中，先执行try块中的语句，其中包含可能发生异常的代码，如果发生异常，则执行catch块中的代码，而不管是否发生异常，最后会无条件执行finally块的语句。例如：<br>function test()<br>{<br>&nbsp;&nbsp;&nbsp; try<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; alert111111();//产生错误<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch(ex)//异常捕获<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; alert(ex.number+"\n"+ex.description);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; finally<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; alert("end");<br>&nbsp;&nbsp;&nbsp; }<br>}<br>&nbsp;&nbsp;&nbsp; 这个函数执行之后，因为故意把“alert”函数的函数名写错，就必然会引发一个错误。<br>&nbsp;&nbsp;&nbsp; 这时异常被捕捉，每个被抛出的异常都会产生一个Error对象的实例，该对象的引用可以作为catch语句的参数，如以上代码中的“ex”参数。<br>&nbsp;&nbsp;&nbsp; 在调试的情况下，catch块中的语句可以查看该Error对象的属性，以获得更多的信息，在产品发布时，则可以给最终用户提供更加友好的错误信息。<br>&nbsp;&nbsp;&nbsp; 到目前为止，在ECMAScript标准中只有两个属性得到正式认可，即message和name。一些浏览器则实现了更多的属性。<br><br>&nbsp;&nbsp;&nbsp; JavaScript 也支持自定义的异常，下面再来看一个例子：<br>function initException(Num,Msg)<br>{<br>&nbsp;&nbsp;&nbsp; this.ErrorNumber=Num;//异常的编号<br>&nbsp;&nbsp;&nbsp; this.ErrorMessage=Msg;//异常的 描述<br>}<br>function test()<br>{<br>&nbsp;&nbsp;&nbsp; try<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ex=new initException(1,"Created!");//创建异常对象<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throw ex;//抛出这个异常<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch(ex)//异常捕获<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(ex instanceof initException)//是否为“initException”异常<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; alert(ex.ErrorNumber+exErrorMessage);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; throw ex;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; finally<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; alert("end");<br>&nbsp;&nbsp;&nbsp; }<br>}<br>&nbsp;&nbsp;&nbsp; 这个例子是抛出自己定义的异常，而自己抛出的异常的属性则可以自己定义多个，本例的异常对象的名字为“initException”，异常属性有两个：异常的编号和异常的描述。<br>&nbsp;&nbsp;&nbsp; 捕捉到异常之后，还可以用instanceof来判断异常类型，这在有很多个异常的时候很有用。<br>&nbsp;&nbsp;&nbsp; JavaScript不能像Java、c#等语言那样，用多个catch块来捕捉不同的异常，非嵌套情况下，它只能有一个catch块，可以使用关键字“instanceof”来区分不同的异常。<br><br>PS：如果上面的例子运行时出现其它的错误，可能是由于中文注释引起的，可以试着删除注释看看。<br><br>三、使用Visual Studio 调试<br>&nbsp;&nbsp;&nbsp; 前面调试的方法总是在浏览器中进行，查看出错的“现场”比较麻烦，我们有时候不只需要知道一个变量的情况，可以是附近变量或者函数传入参数的值，使用 “alert”函数就很不方便了，并且我们希望能够设置断点、单步执行语句。幸好，微软公司的Visual Studio可以帮助我们更好的调试SVG中的JavaScript程序。<br>&nbsp;&nbsp;&nbsp; 我们准备了三个文件：test.htm(包含着SVG文件)、test.svg和test.js（嵌入在SVG文件中的脚本），这也是一个很典型的SVG文件组织形式。<br>&nbsp;&nbsp;&nbsp; 下面先介绍如何在脚本出错后，利用Visual Studio 中的调试器快速定位出错位置。<br>&nbsp;&nbsp;&nbsp; 1）首先需要IE浏览器允许脚本调试。<br>&nbsp;&nbsp;&nbsp; 单击工具菜单(Tools)-&gt;Internet选项（Internet Options）-&gt;“高级”（Advanced）选项卡。默认“禁止脚本调试（IE）”和“禁止脚本调试（其它）”两项是被勾选的，把这两个勾选去掉。<br>&nbsp;&nbsp;&nbsp; 2）启动Visaul Studio 2003 或 2005，打开要调试的文件“test.js”（一般是Js脚本文件）。<br>&nbsp;&nbsp;&nbsp; 3）在IE 中打开要调试的页面，这里我们打开的是test.htm。此时如果脚本有错误，浏览器就会弹出如下错误提示框：<br><img style="border-color: rgb(0, 0, 0);" alt="图3 浏览器错误提示" src="http://blogger.org.cn/blog/uploadfile/200842172646503.BMP" border="0"><br>图3 浏览器的错误提示<br>&nbsp;&nbsp;&nbsp; 我们需要吧注册表[HKEY_CURRENT_USER\Software\Microsoft\WindowsScript\Settings]中的 “JITDebug”键的值改为 dword:00000001。浏览器就会弹出图4的对话框，否则不弹出该对话框，无法进行错误定位。<br><img style="border-color: rgb(0, 0, 0);" alt="图4 选择调试工具" src="http://blogger.org.cn/blog/uploadfile/200842172724396.BMP" border="0"><br>图4 调试器的选择<br><br>&nbsp;&nbsp;&nbsp; 现在调试器，单击“确定”按钮，随后就出现如图5所示的界面，Visual Studio 提示出现一个运行时错误——“Object expected”，错误的代码行高亮显示，这一行笔者故意把函数名写错，导致了错误。<br><img style="border-color: rgb(0, 0, 0);" alt="图5 定位错误代码" src="http://blogger.org.cn/blog/uploadfile/200842172812794.BMP" border="0"><br>图5 定位错误代码<br>&nbsp;&nbsp;&nbsp; 一般我们使用浏览器提供的错误提示报告，往往所提示的代码行数是不正确的，这样不利于我们快速定位到错误所在之处，使我们在定位错误上花了很多时间和精力。现在依靠Visual Studio，能很方便的做到这点。<br>&nbsp;&nbsp;&nbsp; 这种情况的调试是最普通的，可以直接把断点定位到脚本错误的行上，然后通过Watch窗口看本地变量的值来确定错误所在。<br>&nbsp;&nbsp;&nbsp; 那么如何设置断点和单步执行呢？步骤如下：<br>&nbsp;&nbsp;&nbsp; 1）首先需要IE浏览器允许脚本调试。(具体方法上以陈述)<br>&nbsp;&nbsp;&nbsp; 2）设置IE浏览器后，在“查看”（View）菜单下多了一项“脚本调试程序”，其下有两个子菜单“打开”和“在下一条语句中断”，如图6所示：<br><img style="border-color: rgb(0, 0, 0);" alt="图6 IE浏览器”查看“菜单" src="http://blogger.org.cn/blog/uploadfile/20084217502959.JPG" border="0"><br>图6 IE浏览器“查看”菜单<br>&nbsp;&nbsp;&nbsp; 3）单击“打开”之后，弹出与图4一样的对话框，选择调试器（据说实践证明Visual Studio 2005无法显示出SVG中的JavaScript代码，但我试了一下，是可以的，不知道是不是因为我打了补丁，因为机子上没装VS.net，所以我这里选用VS2005）。<br>&nbsp;&nbsp;&nbsp; 4）选择调试器后，单击“确定”按钮，将自动进入Visual Studio 2005编辑器。<br>&nbsp;&nbsp;&nbsp; 5）Visual Studio 2005编辑器会自动打开你当前的html运行文件（test.htm）。选择“调试”菜单-&gt;窗口-&gt;脚本资源管理器（或Ctrl+Alt+N），打开脚本资源管理器如图7所示：<br><img style="border-color: rgb(0, 0, 0);" alt="图7 脚本资源管理器" src="http://blogger.org.cn/blog/uploadfile/200842175035514.JPG" border="0"><br>图7 脚本资源管理器<br>&nbsp;&nbsp;&nbsp; 6）乍一看，好像没有我们编写的脚本文件test.js，一个个单击脚本块，会找到其中一个就是我们的脚本程序。单击要设置断点的代码行，双击旁边的灰色竖条，或者按“F9”，设置断点，如图8所示：<br><img style="border-color: rgb(0, 0, 0);" alt="图8 设置断点" src="http://blogger.org.cn/blog/uploadfile/200842175058833.JPG" border="0"><br>图8 设置断点<br>&nbsp;&nbsp;&nbsp; 7）设置好断点之后，不能刷新要调试的HTML页面，就否则断点会消失。只能事件触发调用需要测试的函数，进入断点（所以，如果函数是注册到SVG 中 onload的事件，必须刷新才能触发的，就无法调试~）。然后再按“F10”单步执行调试，在本地变量监视窗口查看变量情况。<br><br>&nbsp;&nbsp;&nbsp; 使用Visual Studio 2003的情况也类似。<br><br>&nbsp;&nbsp;&nbsp; 据说Visual Studio 2008非常完善的支持Javascript的调试以及IntelliSense功能。对JavaScript的代码诱导能力强，可以进行断点跟踪调试，同志们有兴趣可以试试。（VS2008中JavaScript编辑调试器的秘密——http: //www.chinaaspx.com/topics/vs2005/20070811/3490.html）<br><br>&nbsp;&nbsp;&nbsp; 使用Visual Studio 来调试JavaScript似乎太过奢侈了点。<br><br>PS：本文大部分内容来自《SVG开发实践》（电子工业出版社，黄凯伟编著）<br>]]></description>
</item><item>
<title><![CDATA[SVG 编辑器]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=shuiyuan2004&amp;id=33210</link>
<author>shuiyuan2004</author>
<pubDate>2008/3/30 11:13:48</pubDate>
<description><![CDATA[
<P><B>SVGDeveloper</B></P>
<P>&nbsp;&nbsp;&nbsp; 目前国内已经出现多个SVG的先进编辑器，其中SVGDeveloper是一个在国内外都得到认可的一款软件，更为重要的是，与以往不同，这个软件全面自主开发，也就是说，国内软件商已经拥有了SVG最核心的部分——SVG解析和渲染引擎．目前国内有很多软件厂商都将加入SVG软件的开发行列。</P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; WIDTH: 555px; BORDER-TOP-COLOR: #000000; HEIGHT: 598px; BORDER-RIGHT-COLOR: #000000" border=0 alt="SVGDeveloper 截图" src="http://blogger.org.cn/blog/uploadfile/2008330111534966.JPG" width=978 height=756><BR><B>SVGDeveloper</B><BR>最新版本： 1.0.5 <BR>运行平台： Win2000/Win2003/WinXP/NT/WinMe/Win9X <BR>开发商：<A href="http://www.perfectsvg.com/" target=_blank><FONT color=#22229c>http://www.perfectsvg.com</FONT></A> <BR>邮箱：service@perfectsvg.com <BR>软件类型：　共享软件</P>
<P>先要安装Microsoft .NET Framework 2.0 版可再发行组件包 (x86)：</P>
<P><A href="http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe" target=_blank>http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe</A></P>
<P>下载地址：<A href="http://dl.okxr.com/tuxingtuxiang/donghuazhizuo/svgdeveloper_104047.shtml" target=_blank>http://dl.okxr.com/tuxingtuxiang/donghuazhizuo/svgdeveloper_104047.shtml</A></P>
<P><A href="http://www.perfectsvg.com/download.asp" target=_blank>http://www.perfectsvg.com/download.asp</A></P>
<P><BR>简介：<BR>&nbsp;&nbsp;&nbsp; SVGDeveloper 是一款功能强大的SVG编辑软件，是simplesvg的升级版本。simplesvg自发布以来，已经取得了40多万的下载量。作为simplesvg 的升级版本，svgdeveloper采用了最新开发的svg解析和渲染引擎，速度更快，功能多多。利用功能强大的绘制功能，你可以绘制诸如圆形、矩形、星形等基本形状，也可以绘制文本、图像和自由曲线等复杂图形。同时，SVGDeveloper还提供了其他一些高级功能使得你更加容易的创建和管理SVG 程序。强大的代码编辑器，集成了语法着色和智能语法提示功能，使得你可以编写复杂的脚本程序，从而和创建更加复杂的SVG应用。<BR><BR>&nbsp;&nbsp;&nbsp; 绘制各种高质量的SVG矢量图形，提供包括矩形、椭圆、圆、直线、折线、多边形等在内的基本形状构造。 <BR>&nbsp;&nbsp;&nbsp; 支持任意形状的路径构造（贝赛尔曲线）。 <BR>&nbsp;&nbsp;&nbsp; 支持文本构造。 <BR>&nbsp;&nbsp;&nbsp; 支持栅格图像和SVG图像的导入。 <BR>&nbsp;&nbsp;&nbsp; 按照命名空间和对象类型批量删除对象 <BR>&nbsp;&nbsp;&nbsp; 转换图像为base64代码 <BR>&nbsp;&nbsp;&nbsp; 支持线性渐变、辐射渐变和图案渲染。 <BR>&nbsp;&nbsp;&nbsp; 基于时间线，创作包括变换、属性、运动、形状、声音、遮罩等在内的各种形式动画，同时可将动画绑定到事件； <BR>&nbsp;&nbsp;&nbsp; 可视化地编辑渐变、图案并生成相关动画； <BR>&nbsp;&nbsp;&nbsp; 图形对象的成组和解组以及层次调整功能； <BR>&nbsp;&nbsp;&nbsp; 语法自动加亮的代码编写机制，方便您书写SVG代码； <BR>&nbsp;&nbsp;&nbsp; 智能语法提示 <BR>&nbsp;&nbsp;&nbsp; 智能化的事件创作机制，允许您通过列表式生成对象事件并自动定位到javascript代码。 <BR>&nbsp;&nbsp;&nbsp; 打印支持 <BR>&nbsp;&nbsp;&nbsp; 更强大的外部图图元支持 <BR>&nbsp;&nbsp;&nbsp; XAML支持（支持导出和语法提示） <BR>&nbsp;&nbsp;&nbsp; 颜色主题支持，可以定制个性化的开发环境 <BR>&nbsp;&nbsp;&nbsp; 打印支持</P>
<P>-------------------------------------------------------------------------</P>
<P>设计编辑器和代码编辑器结合，使用很方便，并且写javascript脚本时有智能提示，真是一款非常好的SVG编辑软件，可惜不是免费的，只可试用30天。建议安装一个专门卸载的软件（比如Your Uninstaller PRO 2008 (专业软件卸载)绿色汉化版 V6.1.1246：<A href="http://www.orsoon.com/Soft/1831.html">http://www.orsoon.com/Soft/1831.html</A>），每个月重新安装一次。</P>
<P>-------------------------------------------------------------------------</P>
<P><STRONG>Inkscape Inkscape</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 这是一个开放原始码的向量绘图软件，而且功能也十分强大，除了基本的点、线、面、圆形、矩形、曲线之外，也可以做到三维颜色等等高级功能。 Inkscape预设的图档格式为SVG，但也可以输出成Postscript的EPS、PS等等格式。Inkscape除了支持Windows外，还拥有Linux与Mac版本，不管你用什么操作系统通通可以使用。如果你有向量绘图的需要，可以来试试Inkscape！<BR><BR>下载地址:http://dl.pconline.com.cn/html_2/1/111/id=11038&amp;pn=0.html</P>
<P>教程:http://linuxtoy.org/archives/inkscape-tutorials.html</P>
<P><A href="http://www.cgboss.com/?action-viewjc-itemid-350">http://www.cgboss.com/?action-viewjc-itemid-350</A></P>
<P><BR><FONT face=Arial><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; WIDTH: 585px; BORDER-TOP-COLOR: #000000; HEIGHT: 603px; BORDER-RIGHT-COLOR: #000000" border=0 alt="Inkscape 截图" src="http://blogger.org.cn/blog/uploadfile/200833011193374.JPG" width=830 height=668><BR></P></FONT>
<P><FONT face=Arial>------------------------------------------------------------------------------------------------------</FONT></P>
<P><FONT face=Arial>可能在绘图上的功能比较好，但是代码编辑器用起来不是很顺手，编写脚本也不方便。</FONT></P>
<P>-------------------------------------------------------------------------</P>
<P><B>XMLSpy 等XML编辑器<BR></B></P>
<P>&nbsp; &nbsp; SVG基于XML，当然可以用XML编辑器来编辑SVG。</P>
<P>&nbsp;&nbsp;&nbsp; 其中XMLSpy是非常优秀的一款XML编辑器。XMLWriter 也不错。<BR></P>
<P>&nbsp;&nbsp;&nbsp; 没有设计编辑器，只能编写代码，可以从Browser视图方式查看效果。</P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; WIDTH: 587px; BORDER-TOP-COLOR: #000000; HEIGHT: 493px; BORDER-RIGHT-COLOR: #000000" border=0 alt="XMLSpy 截图1" src="http://blogger.org.cn/blog/uploadfile/2008330112018264.JPG" width=756 height=615><BR></P>
<P><IMG style="BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; WIDTH: 588px; BORDER-TOP-COLOR: #000000; HEIGHT: 523px; BORDER-RIGHT-COLOR: #000000" border=0 alt="XMLSpy 截图2" src="http://blogger.org.cn/blog/uploadfile/2008330112048131.JPG" width=754 height=637></P>]]></description>
</item><item>
<title><![CDATA[SVG 简介]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=shuiyuan2004&amp;id=33209</link>
<author>shuiyuan2004</author>
<pubDate>2008/3/30 10:19:54</pubDate>
<description><![CDATA[什么是SVG,&nbsp;&nbsp;SVG的特点, SVG较G I F、JPEG的优势<BR><BR>一、什么是SVG?<BR><BR>　　S V G(可放缩的矢量图形)，是W3C(World Wide Web ConSor—tium国际互联网标准组织)在2000年8月制定的一种新的二维矢量图形格式，也是规范中的网络矢量图形标准。W3C是作为一个国际X的工业联盟而创建的， 目的是领导整个互联网协作的发展和创新，以实现科技的进步和共同发展。由于W3C联盟关于SVG的开发工作组的成员都是一些知名厂商， 如Adobe、苹果、Aut0De sk、Bit Fla sh、Corel、惠普、IBM、ILOG、INSO、Macromedia、微软、Netscape、OASIS、Open Text、Quark、RAL(C C LRC)、S un、V i S i 0、施乐等，所以SVG不是一个私有格式，而是一个开放的标准。也就是说，它并不属于任何个体的专利，而是一个通过协作、共同开发的工业标准。正是因为这点，才使得SVG能够得到更迅速的开发和应用。<BR><BR>　　二、SVG的特点<BR><BR>　　1．基于XML<BR><BR>　　为了保证网络图像能够顺利地和目前已经由W3C开发的D0M1，DOM2，CSS，XML，XPointer，XSLT，XSL，SMIL， HTML，XHTML技术，以及其他标准化技术，如ICC，URI，UNICODE，RGB，ECMAScr ipt／JavaScript，Java协调一致，SVG是完全基于x M L(EXtensibleMarkup Language可扩展置标语言)， 并能和上述各项技术相融会的新一代的网络图像格式。SVG并非仅仅是一种图像格式，由于它是一种基于XML的语言，也就意味着它继承了XML的跨平台X和可扩展X，从而在图形可重用X上迈出了一大步。如SVG可以内嵌于其他的XML文档中，而SVG文档中也可以嵌入其他的XML内容，各个不同的SVG图形可以方便地组合， 构成新的SVG图形。<BR><BR>　　2．采用文本来描述对象<BR><BR>　　SVG包括3种类型的对象： 矢量图形(包括直线、曲线在内的图形边)、点阵图像和文本。各种图像对象能够组合、变换，并且修改其样式，也能够定义成预处理对象。<BR><BR>　　与传统的图像格式不同的是，svG采用文本来描述矢量化的图形，这使得svG图像文件可以像HT札网页一样有着很好的可读X。当用户用图像工具输出 svG后，可以用任何文字处理工具打开SVG图像，并可看到用来描述图像的文本代码。掌握了svG语法的人甚至可以只用一个记事本便可以读出图像中的内容来。<BR><BR>　　svG文件中的文字虽然在显示时可呈现出各种图像化的修饰效果，但却仍然是以文本的形式存在的，可以选择复制、粘贴。由于SVG内的文字都以文本的形式出现在XML文件中，这些信息可以为搜索引擎所用，而以往搜索引擎通常无法搜索到写在点阵图像中的文字。这些文本信息还可以帮助视力有残疾而无法看到图形的人，可以通过其他方式(如声音)来传送这些信息。<BR><BR>　　3．具有交互X和动态X<BR><BR>　　由于网络是动态的媒体，SVG要成为网络图像格式，必须要具有动态的特征，这也是区别于其它图像格式的一个重要特征。SVG是基于XML的，它提供无可匹敌的动态交互X。你可以在svG文件中嵌入动画元素(如运动路径、渐现或渐隐效果、生长的物体、收缩、快速旋转、改变颜色等)，或通过脚本定义来达到高亮显示、声音、动画等效果。<BR><BR>　　4．完全支持DOM<BR><BR>　　D0M(Document Object Model文档物件模型)是一种文档平台，它允许程序或脚本动态的存储和上传文件的内容、结构或样式。由于SVG完全支持DOM，因而SVG文档可以通过一致的接口规范与外界的程序打交道。SVG以及SVG中的物件元素完全可以通过脚本语言接受外部事件的驱动，例如鼠标动作，实现自身或对其他物件、图像的控制等。这也是电子文档应具备的优秀特X之一。<BR><BR>　　三、SVG较G I F、JPEG的优势<BR><BR>　　首先简要解释一下矢量图像格式和位图图像格式的区别。矢量图像用点和线来描述物体，所以文件会比较小，同时也能提供高清晰的画面，适合于直接打印或输出。而位图图像的存储单位是图像上每一点的像素值，因此一般的图像文件都很大，会占用大量的网络带宽。SVG是一种矢量图形格式，GIF、JPEG是位图图像格式。有了两者的概念后，SVG较GIF、JPEG的优势显而易见。<BR><BR>　　1．任意放缩。<BR><BR>　　用户可以任意缩放图像显示，而不会破坏图像的清晰度、细节等。<BR><BR>　　2．文本独立。<BR><BR>　　SVG图像中的文字独立于图像，文字保留可编辑和可搜寻的状态。也不会再有字体的限制，用户系统即使没有安装某一字体，也会看到和他们制作时完全相同的画面。<BR><BR>　　3．较小文件。<BR><BR>　　总体来讲，SVG文件比那些GIF和JPEG格式的文件要小很多，因而下载也很快。<BR><BR>　　4．超强显示效果<BR><BR>　　SVG图像在屏幕上总是边缘清晰，它的清晰度适合任何屏幕分辨力和打印分辨力。<BR><BR>　　5．超级颜色控制。<BR><BR>　　SVG图像提供一个1 600万种颜色的调色板，支持ICC颜色描述文件标准、RGB、线X填充、渐变和蒙版。<BR><BR>　　6．交互X和智能化。<BR><BR>　　由于SVG是基于XML的， 因而能制作出空前强大的动态交互图像。即SVG图像能对用户动作做出不同响应， 例如高亮、声效、特效、动画等。<BR><BR><BR>SVG查看工具Adobe SVG Viewer 3.03 下载<BR><BR><A href="http://download.adobe.com/pub/adobe/magic/svgviewer/win/3.x/3.03/en/SVGView.exe" target=_blank>http://download.adobe.com/pub/adobe/magic/svgviewer/win/3.x/3.03/en/SVGView.exe</A>]]></description>
</item>
</channel>
</rss>