<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>燕之庐网站建设 &#187; vml</title>
	<atom:link href="http://www.yanzhilu.com/blog/archives/tag/vml/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yanzhilu.com/blog</link>
	<description>优质网站设计公司</description>
	<lastBuildDate>Sat, 31 Jul 2010 07:40:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>VML绘图板⑤浏览&#8211;view.php</title>
		<link>http://www.yanzhilu.com/blog/archives/1946</link>
		<comments>http://www.yanzhilu.com/blog/archives/1946#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:43:19 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[产业新闻]]></category>
		<category><![CDATA[vml]]></category>
		<category><![CDATA[技术文章]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=1946</guid>
		<description><![CDATA[VML绘图板⑤浏览--view.php]]></description>
			<content:encoded><![CDATA[<p>&lt;html&gt;<br />
&lt;xmlns:v=&#8221;urn:schemas-microsoft-com:vml&#8221; /&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&#8221;Content-type&#8221; content=&#8221;text/html; charset=gb2312&#8243;&gt;<br />
&lt;title&gt;VML绘图板&lt;/title&gt;<br />
&lt;style&gt;<br />
v\:* { behavior: url(#default#VML); }<br />
td { font-size:9pt; }<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;script src=&#8221;XMLtool.js&#8221;&gt;&lt;/script&gt;<br />
&lt;script&gt;<br />
// 钩子函数，用于清除代码显示<br />
function hooke() {<br />
code.innerText = &#8220;&#8221;;<br />
}<br />
// 从服务器获取XML文档。服务器将返回vml文档，可以根据参数v简单的用readfile函数<br />
function loadXML(v)<br />
{<br />
var xmlHTTP = new ActiveXObject(&#8221;Microsoft.XMLHTTP&#8221;);<br />
xmlHTTP.open(&#8221;GET&#8221;,&#8221;server.php?info=&#8221;+v,false);<br />
xmlHTTP.setRequestHeader(&#8221;Contrn-type&#8221;,&#8221;text/xml&#8221;);<br />
xmlHTTP.setRequestHeader(&#8221;Contrn-charset&#8221;,&#8221;gb2312&#8243;);</p>
<p>xmlHTTP.send(v);<br />
view.innerHTML = xmlHTTP.responseText;<br />
hooke();<br />
if(xmlHTTP.responseText.indexOf(&#8221;Error:&#8221;)!=-1) {<br />
alert(xmlHTTP.responseText);<br />
}<br />
}<br />
// 以下函数用于与vml文档交互<br />
function cursor() {}<br />
function mouse_down() {}<br />
function mouse_up() {}<br />
function setOverColor() {}<br />
function setOutColor() {}<br />
function deleteNode() {}<br />
&lt;/script&gt;<br />
&lt;body onLoad=&#8221;loadXML(1)&#8221;&gt;<br />
&lt;table&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;作品展示&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td id=&#8221;view&#8221;&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;<br />
&lt;?php<br />
// 变量num为保存的vml文档总数，这里仅简单的指定。请根据实际的组织调整<br />
$num = 10;<br />
for($i=1;$i&lt;=$num;$i++)<br />
echo sprintf(&#8221;&lt;span style=\&#8221;cursor:hand;\&#8221; onClick=\&#8221;loadXML(%d)\&#8221; nobr&gt;%4d&lt;/span&gt;\n&#8221;,$i,$i);<br />
?&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td style=&#8221;cursor:help;&#8221; onClick=&#8221;code.innerText=view.innerHTML&#8221;&gt;查看VML代码&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td id=&#8221;code&#8221;&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/1946/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VML绘图板④简化的服务器端&#8211;server.php、server.asp</title>
		<link>http://www.yanzhilu.com/blog/archives/1943</link>
		<comments>http://www.yanzhilu.com/blog/archives/1943#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:41:13 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[产业新闻]]></category>
		<category><![CDATA[vml]]></category>
		<category><![CDATA[技术文章]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=1943</guid>
		<description><![CDATA[VML绘图板④简化的服务器端--server.php、server.asp]]></description>
			<content:encoded><![CDATA[<p>服务器端<br />
************<br />
* server.php<br />
************<br />
&lt;?php<br />
$s = $HTTP_RAW_POST_DATA;<br />
$t = gettimeofday();<br />
$n = $t[sec].$t[usec];<br />
$filename = &#8220;vml/&#8221; .$n. &#8220;.txt&#8221;;<br />
$fp = fopen($filename,&#8221;w&#8221;);<br />
fwrite($fp,$s);<br />
fclose($fp);<br />
echo $s;<br />
?&gt;</p>
<p>************<br />
* server.asp<br />
************<br />
&lt;%@ Language=VBScript %&gt;<br />
&lt;%<br />
Response.expires=-1<br />
dim xmlrec<br />
set xmlrec=server.CreateObject(&#8221;microsoft.xmldom&#8221;)<br />
xmlrec.async=false<br />
xmlrec.load(Request)<br />
xmlrec.save Server.MapPath(&#8221;.&#8221;)&amp;&#8221;\xxxx.xml&#8221;<br />
%&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/1943/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VML绘图板③资源&#8211;VMLgraph.xml</title>
		<link>http://www.yanzhilu.com/blog/archives/1941</link>
		<comments>http://www.yanzhilu.com/blog/archives/1941#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:40:28 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[产业新闻]]></category>
		<category><![CDATA[vml]]></category>
		<category><![CDATA[技术文章]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=1941</guid>
		<description><![CDATA[VML绘图板③资源--VMLgraph.xml]]></description>
			<content:encoded><![CDATA[<p>资源<br />
***************<br />
* VMLgraph.xml<br />
***************<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;GB2312&#8243; ?&gt;<br />
&lt;root xmlns:v=&#8221;urn:schemas-microsoft-com:vml&#8221;&gt;<br />
&lt;toolbar id=&#8221;1&#8243;&gt;<br />
&lt;v:group ID=&#8221;cut&#8221; style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;裁剪&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:line from=&#8221;11,4&#8243; to=&#8221;20,26&#8243; /&gt;<br />
&lt;v:arc style=&#8221;left:6; top:12; width:8; height:12;&#8221; startangle=&#8221;180&#8243; endangle=&#8221;400&#8243;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:arc&gt;<br />
&lt;v:line from=&#8221;19,4&#8243; to=&#8221;10,26&#8243; /&gt;<br />
&lt;v:arc style=&#8221;left:16; top:12; width:8; height:12;&#8221; startangle=&#8221;0&#8243; endangle=&#8221;180&#8243;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:arc&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;2&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;正常&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:shape style=&#8221;width:30; height:30;&#8221; strokecolor=&#8221;#000000&#8243;&gt;<br />
&lt;v:path v=&#8221;m 9,5 l 9,20, 12,16 17,25 19,23 15,15 19,15 x e&#8221; /&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:shape&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;3&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;点、线&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:line from=&#8221;8,8&#8243; to=&#8221;22,22&#8243;/&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;5&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;矩形&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:rect style=&#8221;top:4; left:4; width:22; height:22;&#8221;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:rect&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;6&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;圆角矩形&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:roundrect style=&#8221;top:4; left:4; width:22; height:22;&#8221; arcsize=&#8221;0.2&#8243;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:roundrect&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;8&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;圆、椭圆&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:oval style=&#8221;top:4; left:4; width:22; height:22&#8243;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:oval&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;7&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;多边形&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:shape style=&#8221;width:30; height:30;&#8221; path=&#8221;m 14,4 l 4,14 12,24 24,18 15,12 x e&#8221;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:shape&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;9&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;折线&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:polyline points=&#8221;4,18 20,4 8,20 24,10 10,22 22,20&#8243;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:polyline&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;4&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; title=&#8221;曲线&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:curve from=&#8221;4,24&#8243; control1=&#8221;8,-10&#8243; control2=&#8221;20,30&#8243; to=&#8221;24,4&#8243;&gt;<br />
&lt;v:fill opacity=&#8221;0&#8243; /&gt;<br />
&lt;/v:curve&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;toolbar id=&#8221;10&#8243;&gt;<br />
&lt;v:group style=&#8221;width:24; height:24; cursor:hand&#8221; coordsize=&#8221;30,30&#8243; fillcolor=&#8221;#ffffff&#8221; title=&#8221;文字&#8221; onClick=&#8221;select(this)&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:30; height:30;&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:line from=&#8221;14,4&#8243; to=&#8221;4,26&#8243; /&gt;<br />
&lt;v:line from=&#8221;15,4&#8243; to=&#8221;24,26&#8243; /&gt;<br />
&lt;v:line from=&#8221;10,18&#8243; to=&#8221;20,18&#8243; /&gt;<br />
&lt;/v:group&gt;<br />
&lt;/toolbar&gt;<br />
&lt;colorbar&gt;<br />
&lt;table cellspacing=&#8221;0&#8243; cellpadding=&#8221;0&#8243;&gt;<br />
&lt;tr&gt;<br />
&lt;td rowspan=&#8221;2&#8243;&gt;<br />
&lt;v:group style=&#8221;width:30; height:30;&#8221; coordsize=&#8221;40,40&#8243;&gt;<br />
&lt;v:rect style=&#8221;width:40; height:40;&#8221; fillcolor=&#8221;#ccc&#8217;&#8221; /&gt;<br />
&lt;v:rect id=&#8221;color2&#8243; style=&#8221;left:16; top:16; width:20; height:20;&#8221; fillcolor=&#8221;#ffffff&#8221; onMouseDown=&#8221;setcolorkey=this&#8221; title=&#8221;充填色&#8221; /&gt;<br />
&lt;v:rect id=&#8221;color1&#8243; style=&#8221;left:4; top:4; width:20; height:20;&#8221; fillcolor=&#8221;#000000&#8243; onMouseDown=&#8221;setcolorkey=this&#8221; title=&#8221;绘图色&#8221; /&gt;<br />
&lt;/v:group&gt;<br />
&lt;/td&gt;<br />
&lt;td&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#000000&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#808080&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#800000&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#808000&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#008000&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#008080&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#000080&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#800080&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#808040&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#004040&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#0080ff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#004080&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#4000ff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#804000&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#ffffff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#c0c0c0&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#ff0000&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#ffff00&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#00ff00&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#00ffff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#0000ff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#ff00ff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#ffff80&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#80ffff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#80ffff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#8080ff&#8221; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#ff0080&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;v:rect style=&#8221;width:30; height:15;&#8221; fillcolor=&#8221;#ff8040&#8243; onClick=&#8221;setcolor(this.fillcolor)&#8221; /&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;/colorbar&gt;<br />
&lt;linebox&gt;<br />
&lt;v:group style=&#8221;width:50; height:80&#8243; coordsize=&#8221;50,80&#8243; title=&#8221;线型选择&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:50; height:80&#8243; /&gt;<br />
&lt;v:line from=&#8221;4,4&#8243; to=&#8221;46,4&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;solid&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,10&#8243; to=&#8221;46,10&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;shortdash&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,16&#8243; to=&#8221;46,16&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;shortdot&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,22&#8243; to=&#8221;46,22&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;shortdashdot&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,28&#8243; to=&#8221;46,28&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;shortdashdotdot&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,34&#8243; to=&#8221;46,34&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;dash&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,40&#8243; to=&#8221;46,40&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;dot&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,46&#8243; to=&#8221;46,46&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;dashdot&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,52&#8243; to=&#8221;46,52&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;longdash&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,58&#8243; to=&#8221;46,58&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;longdashdot&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:line from=&#8221;4,64&#8243; to=&#8221;46,64&#8243; onClick=&#8221;dashstyle.dashstyle=this.stroke.dashstyle&#8221;&gt;<br />
&lt;v:stroke dashstyle=&#8221;longdashdotdot&#8221; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;v:rect style=&#8221;left:2; top:68; width:46; height:8;&#8221; fillcolor=&#8221;#c0c0c0&#8243; strokecolor=&#8221;#c0c0c0&#8243; /&gt;<br />
&lt;v:line from=&#8221;6,72&#8243; to=&#8221;44,72&#8243;&gt;<br />
&lt;v:stroke id=&#8221;dashstyle&#8221; dashstyle=&#8221;solid&#8221; size=&#8221;4&#8243; /&gt;<br />
&lt;/v:line&gt;<br />
&lt;/v:group&gt;<br />
&lt;/linebox&gt;<br />
&lt;gradient&gt;<br />
&lt;v:group style=&#8221;WIDTH:120;HEIGHT:120&#8243; coordsize=&#8221;120,120&#8243; onMouseMove=&#8221;cursor(1)&#8221; onMouseOut=&#8221;cursor(0)&#8221; title=&#8221;过渡色充填&#8221;&gt;<br />
&lt;v:rect style=&#8221;width:120; height:120;&#8221; fillcolor=&#8221;#ffffff&#8221; strokecolor=&#8221;#000000&#8243; strokeweight=&#8221;1&#8243; /&gt;<br />
&lt;v:group style=&#8221;left:35; top:13; width:50; height:34&#8243;  coordsize=&#8221;50,34&#8243;&gt;<br />
&lt;v:rect style=&#8221;width:50; height:34&#8243; fillcolor=&#8221;#ffff80&#8243; /&gt;<br />
&lt;v:rect style=&#8221;left:6; top:4; width:16; height:20;&#8221; fillcolor=&#8221;#0000FF&#8221; /&gt;<br />
&lt;v:oval style=&#8221;left:18; top:4; width:26; height:26;&#8221; fillcolor=&#8221;#00ff00&#8243; /&gt;<br />
&lt;v:shape style=&#8221;width:50; height:34&#8243; path=&#8221;m 8,30 l 22,15 36,30 x e&#8221; fillcolor=&#8221;#FF0000&#8243; /&gt;<br />
&lt;/v:group&gt;<br />
&lt;v:rect style=&#8221;left:10; top:10; width:100; height:40;&#8221;&gt;<br />
&lt;v:fill id=&#8221;gradientBar&#8221; opacity=&#8221;50%&#8221; type=&#8221;gradient&#8221; color=&#8221;red&#8221; color2=&#8221;blue&#8221; angle=&#8221;270&#8243; colors=&#8221;30% yellow,70% green&#8221;  focusposition=&#8221;50%,50%&#8221;/&gt;<br />
&lt;/v:rect&gt;<br />
&lt;v:shape id=&#8221;gradient1&#8243; style=&#8221;left:8; top:50; width:120; height:100;&#8221; fillcolor=&#8221;red&#8221; path=&#8221;m 2,0 l 0,4 0,10 5,10 5,4 x e&#8221; onClick=&#8221;gradientColor(this)&#8221; /&gt;<br />
&lt;v:shape id=&#8221;gradient4&#8243; style=&#8221;left:108; top:50; width:120; height:100;&#8221; fillcolor=&#8221;blue&#8221; path=&#8221;m 2,0 l 0,4 0,10 5,10 5,4 x e&#8221; onClick=&#8221;gradientColor(this)&#8221; /&gt;<br />
&lt;v:shape id=&#8221;gradient2&#8243; style=&#8221;left:38; top:50; width:120; height:100;&#8221; fillcolor=&#8221;yellow&#8221; path=&#8221;m 2,0 l 0,4 0,10 5,10 5,4 x e&#8221; onClick=&#8221;gradientColor(this)&#8221; onMouseMove=&#8221;gradientPoint(this)&#8221; onMouseOut=&#8221;gradientX=-1&#8243; title=&#8221;色阶1&#8243; /&gt;<br />
&lt;v:shape id=&#8221;gradient3&#8243; style=&#8221;left:78; top:50; width:120; height:100;&#8221; fillcolor=&#8221;green&#8221; path=&#8221;m 2,0 l 0,4 0,10 5,10 5,4 x e&#8221; onClick=&#8221;gradientColor(this)&#8221; onMouseMove=&#8221;gradientPoint(this)&#8221; onMouseOut=&#8221;gradientX=-1&#8243; title=&#8221;色阶2&#8243; /&gt;<br />
&lt;v:line from=&#8221;10,70&#8243; to=&#8221;110,70&#8243; title=&#8221;焦点1&#8243; /&gt;<br />
&lt;v:shape id=&#8221;focus1&#8243; style=&#8221;left:58; top:66; width:120; height:100;&#8221; fillcolor=&#8221;white&#8221; path=&#8221;m 2,0 l 0,4 2,8 4,4 x e&#8221; onMouseMove=&#8221;gradientPoint(this)&#8221; onMouseOut=&#8221;gradientX=-1&#8243; title=&#8221;焦点1&#8243; /&gt;<br />
&lt;v:line from=&#8221;10,80&#8243; to=&#8221;110,80&#8243; title=&#8221;焦点2&#8243; /&gt;<br />
&lt;v:shape id=&#8221;focus2&#8243; style=&#8221;left:58; top:76; width:120; height:100;&#8221; fillcolor=&#8221;red&#8221; path=&#8221;m 2,0 l 0,4 2,8 4,4 x e&#8221; onMouseMove=&#8221;gradientPoint(this)&#8221; onMouseOut=&#8221;gradientX=-1&#8243; title=&#8221;焦点2&#8243; /&gt;<br />
&lt;v:line from=&#8221;10,90&#8243; to=&#8221;110,90&#8243; title=&#8221;旋转角&#8221; /&gt;<br />
&lt;v:line from=&#8221;10,90&#8243; to=&#8221;10,95&#8243; title=&#8221;0°&#8221; onClick=&#8221;anglePoint(this)&#8221; /&gt;<br />
&lt;v:line from=&#8221;35,90&#8243; to=&#8221;35,95&#8243; title=&#8221;90°&#8221; onClick=&#8221;anglePoint(this)&#8221; /&gt;<br />
&lt;v:line from=&#8221;60,90&#8243; to=&#8221;60,95&#8243; title=&#8221;180°&#8221; onClick=&#8221;anglePoint(this)&#8221; /&gt;<br />
&lt;v:line from=&#8221;85,90&#8243; to=&#8221;85,95&#8243; title=&#8221;270°&#8221; onClick=&#8221;anglePoint(this)&#8221; /&gt;<br />
&lt;v:line from=&#8221;110,90&#8243; to=&#8221;110,95&#8243; title=&#8221;360°&#8221; onClick=&#8221;anglePoint(this)&#8221; /&gt;<br />
&lt;v:shape id=&#8221;angle&#8221; style=&#8221;left:83; top:86; width:120; height:100;&#8221; fillcolor=&#8221;white&#8221; path=&#8221;m 2,0 l 0,4 2,8 4,4 x e&#8221; onMouseMove=&#8221;gradientPoint(this)&#8221; onMouseOut=&#8221;gradientX=-1&#8243; title=&#8221;旋转角&#8221; /&gt;<br />
&lt;v:line from=&#8221;10,100&#8243; to=&#8221;110,100&#8243; title=&#8221;透明度&#8221; /&gt;<br />
&lt;v:line from=&#8221;10,100&#8243; to=&#8221;10,105&#8243; title=&#8221;100%&#8221; onClick=&#8221;opacityPoint(this)&#8221; /&gt;<br />
&lt;v:line from=&#8221;60,100&#8243; to=&#8221;60,105&#8243; title=&#8221;50%&#8221; onClick=&#8221;opacityPoint(this)&#8221; /&gt;<br />
&lt;v:line from=&#8221;110,100&#8243; to=&#8221;110,105&#8243; title=&#8221;0%&#8221; onClick=&#8221;opacityPoint(this)&#8221; /&gt;<br />
&lt;v:shape id=&#8221;opacity&#8221; style=&#8221;left:58; top:96; width:120; height:100;&#8221; fillcolor=&#8221;white&#8221; path=&#8221;m 2,0 l 0,4 2,8 4,4 x e&#8221; onMouseMove=&#8221;gradientPoint(this)&#8221; onMouseOut=&#8221;gradientX=-1&#8243; title=&#8221;透明度&#8221; /&gt;<br />
&lt;/v:group&gt;<br />
&lt;/gradient&gt;<br />
&lt;/root&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/1941/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VML绘图板②脚本&#8211;VMLgraph.js、XMLtool.js</title>
		<link>http://www.yanzhilu.com/blog/archives/1939</link>
		<comments>http://www.yanzhilu.com/blog/archives/1939#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:39:43 +0000</pubDate>
		<dc:creator>changboter</dc:creator>
				<category><![CDATA[产业新闻]]></category>
		<category><![CDATA[vml]]></category>
		<category><![CDATA[技术文章]]></category>

		<guid isPermaLink="false">http://www.yanzhilu.com/blog/?p=1939</guid>
		<description><![CDATA[VML绘图板②脚本--VMLgraph.js、XMLtool.js]]></description>
			<content:encoded><![CDATA[<p>脚本<br />
*************<br />
* VMLgraph.js<br />
*************<br />
var xo=0;<br />
var yo=0;<br />
var ox=80;<br />
var oy=20;<br />
var dx=0;<br />
var dy=0;<br />
var drawKey = false;<br />
var itemID = 0;<br />
var ShapeItemNum = 0;<br />
var ShapeItemX = 0;<br />
var ShapeItemY = 0;<br />
var CurveItemNum = 0;<br />
var NodeDelete = false;<br />
var ToolBarNum = 2; // 预置的工具编号<br />
var gradientX = -1;</p>
<p>function cursor(k) {<br />
xo = event.clientX &#8211; ox;<br />
yo = event.clientY &#8211; oy;<br />
if(k &amp;&amp; xo&gt;=0 &amp;&amp; yo&gt;=0)<br />
oxy.innerHTML = xo+&#8221;,&#8221;+yo;<br />
else<br />
oxy.innerHTML = &#8220;&#8221;;<br />
if(drawKey) {<br />
paint();<br />
view.innerHTML = tree(canvas.documentElement,0);<br />
}<br />
}</p>
<p>function setOverColor(v) {<br />
if(! NodeDelete) return;<br />
v.myColor = v.strokecolor;<br />
if(v.strokecolor == &#8220;red&#8221;)<br />
v.strokecolor=&#8217;#000000&#8242;;<br />
else<br />
v.strokecolor=&#8217;#ff0000&#8242;;<br />
}<br />
function setOutColor(v) {<br />
if(! NodeDelete) return;<br />
v.strokecolor = v.myColor;<br />
view.innerHTML = tree(canvas.documentElement,0);<br />
}<br />
function deleteNode(v) {<br />
if(! NodeDelete) return;<br />
var id = v.id;<br />
for(i=0;i&lt;canvas.selectNodes(&#8221;/*//*&#8221;).length;i++) {<br />
var node = canvas.selectNodes(&#8221;/*//*&#8221;)[i];<br />
if(node.getAttribute(&#8221;id&#8221;) == id) {<br />
canvas.documentElement.childNodes[0].removeChild(node);<br />
view.innerHTML = tree(canvas.documentElement,0);<br />
return;<br />
}<br />
}<br />
}</p>
<p>function setElement(node) {<br />
node.setAttribute(&#8221;id&#8221;) = itemID;<br />
node.setAttribute(&#8221;myColor&#8221;) = &#8220;#&#8221;;<br />
node.setAttribute(&#8221;onMouseOver&#8221;) = &#8220;setOverColor(this)&#8221;;<br />
node.setAttribute(&#8221;onMouseOut&#8221;) = &#8220;setOutColor(this)&#8221;;<br />
node.setAttribute(&#8221;onClick&#8221;) = &#8220;deleteNode(this)&#8221;;</p>
<p>var subobjField = canvas.createElement(&#8221;v:stroke&#8221;);<br />
subobjField.setAttribute(&#8221;color&#8221;) = color1.fillcolor;<br />
subobjField.setAttribute(&#8221;dashstyle&#8221;) = dashstyle.dashstyle;<br />
node.appendChild(subobjField);<br />
if(textbox.style.visibility == &#8220;visible&#8221; &amp;&amp; txt.value.length) {<br />
var subobjField = canvas.createElement(&#8221;v:path&#8221;);<br />
subobjField.setAttribute(&#8221;textpathok&#8221;) = &#8220;true&#8221;;<br />
node.appendChild(subobjField);<br />
var subobjField = canvas.createElement(&#8221;v:textpath&#8221;);<br />
subobjField.setAttribute(&#8221;on&#8221;) = &#8220;true&#8221;;<br />
subobjField.setAttribute(&#8221;string&#8221;) = txt.value;<br />
subobjField.setAttribute(&#8221;style&#8221;) = &#8220;font:normal normal normal 16pt &#8216;Arial Black&#8217;&#8221;;<br />
node.appendChild(subobjField);<br />
}<br />
canvas.documentElement.childNodes[0].appendChild(node);<br />
}</p>
<p>function mouse_down() {<br />
drawKey = true;<br />
dx = xo;<br />
dy = yo;<br />
itemID++;<br />
if(ToolBarNum != 7) ShapeItemNum = 0;<br />
switch(ToolBarNum) {<br />
case 3:<br />
var objField = canvas.createElement(&#8221;v:line&#8221;);<br />
objField.setAttribute(&#8221;from&#8221;) = xo+&#8221;,&#8221;+yo;<br />
objField.setAttribute(&#8221;to&#8221;) = xo+&#8221;,&#8221;+yo;<br />
return setElement(objField);<br />
case 4:<br />
if(CurveItemNum == 0) {<br />
CurveItemNum = 1;<br />
var objField = canvas.createElement(&#8221;v:curve&#8221;);<br />
objField.setAttribute(&#8221;from&#8221;) = xo+&#8221;,&#8221;+yo;<br />
objField.setAttribute(&#8221;to&#8221;) = xo+&#8221;,&#8221;+yo;<br />
objField.setAttribute(&#8221;control1&#8243;) = xo+&#8221;,&#8221;+yo;<br />
objField.setAttribute(&#8221;control2&#8243;) = xo+&#8221;,&#8221;+yo;<br />
var subobjField = canvas.createElement(&#8221;v:fill&#8221;);<br />
subobjField.setAttribute(&#8221;opacity&#8221;) = 0;<br />
objField.appendChild(subobjField);<br />
return setElement(objField);<br />
}<br />
return;<br />
case 9:<br />
var objField = canvas.createElement(&#8221;v:polyline&#8221;);<br />
objField.setAttribute(&#8221;points&#8221;) = xo+&#8221;,&#8221;+yo+&#8221; &#8220;+xo+&#8221;,&#8221;+yo;<br />
var subobjField = canvas.createElement(&#8221;v:fill&#8221;);<br />
subobjField.setAttribute(&#8221;opacity&#8221;) = 0;<br />
objField.appendChild(subobjField);<br />
return setElement(objField);<br />
case 7:<br />
if(ShapeItemNum == 0) {<br />
var objField = canvas.createElement(&#8221;v:shape&#8221;);<br />
objField.setAttribute(&#8221;style&#8221;) = &#8220;width:500; height:309&#8243;;<br />
objField.setAttribute(&#8221;path&#8221;) = &#8220;m &#8220;+xo+&#8221;,&#8221;+yo+&#8221; l &#8220;+xo+&#8221;,&#8221;+yo;<br />
ShapeItemX = xo;<br />
ShapeItemY = yo;<br />
}else {<br />
objField = canvas.documentElement.childNodes[0].lastChild;<br />
objField.setAttribute(&#8221;path&#8221;) = objField.getAttribute(&#8221;path&#8221;) + &#8221; &#8220;+xo+&#8221;,&#8221;+yo;<br />
return;<br />
}<br />
ShapeItemNum++;<br />
break;<br />
case 5:<br />
var objField = canvas.createElement(&#8221;v:rect&#8221;);<br />
break;<br />
case 6:<br />
var objField = canvas.createElement(&#8221;v:roundrect&#8221;);<br />
objField.setAttribute(&#8221;arcsize&#8221;) = 0.2;<br />
break;<br />
case 8:<br />
var objField = canvas.createElement(&#8221;v:oval&#8221;);<br />
break;<br />
case 10:<br />
s = &#8220;&#8221;;<br />
s = tree(canvas.documentElement,1);<br />
view.innerHTML = s;<br />
return;<br />
defaule:<br />
drawKey = false;<br />
return;<br />
}<br />
if(objField) {<br />
if(ToolBarNum != 7)<br />
objField.setAttribute(&#8221;style&#8221;) = &#8220;left:&#8221;+xo+&#8221;; top:&#8221;+yo+&#8221;; width:0; height:0;&#8221;;<br />
var subobjField = canvas.createElement(&#8221;v:fill&#8221;);<br />
subobjField.setAttribute(&#8221;opacity&#8221;) = gradientBar.opacity;<br />
subobjField.setAttribute(&#8221;angle&#8221;) = gradientBar.angle;<br />
subobjField.setAttribute(&#8221;type&#8221;) = gradientBar.type;<br />
subobjField.setAttribute(&#8221;color&#8221;) = gradientBar.color.value;<br />
subobjField.setAttribute(&#8221;color2&#8243;) = gradientBar.color2.value;<br />
subobjField.setAttribute(&#8221;colors&#8221;) = gradientBar.colors.value;<br />
subobjField.setAttribute(&#8221;focusposition&#8221;) = gradientBar.focusposition;<br />
objField.appendChild(subobjField);<br />
return setElement(objField);<br />
}<br />
return;<br />
}</p>
<p>function mouse_up() {<br />
drawKey = false;<br />
if(CurveItemNum &gt; 0) CurveItemNum++;<br />
if(CurveItemNum &gt; 3) CurveItemNum = 0;<br />
if(ToolBarNum == 7) {<br />
if(Math.abs(xo &#8211; ShapeItemX) &lt; 2 &amp;&amp; Math.abs(yo &#8211; ShapeItemY) &lt; 2) {<br />
ShapeItemNum = 0;<br />
Element = canvas.documentElement.childNodes[0].lastChild;<br />
var regerp = / [0-9]+,[0-9]+$/<br />
var str = Element.getAttribute(&#8221;path&#8221;);<br />
Element.setAttribute(&#8221;path&#8221;) = str.replace(regerp,&#8221; x e&#8221;);<br />
view.innerHTML = tree(canvas.documentElement,0);<br />
}<br />
}<br />
}</p>
<p>function paint() {<br />
Element = canvas.documentElement.childNodes[0].lastChild;<br />
var x0,y0,x1,y1;<br />
x0 = Math.min(dx,xo);<br />
y0 = Math.min(dy,yo);<br />
x1 = Math.max(dx,xo);<br />
y1 = Math.max(dy,yo);<br />
var box = &#8220;left:&#8221;+x0+&#8221;; top:&#8221;+y0+&#8221;; width:&#8221;+(x1-x0)+&#8221;; height:&#8221;+(y1-y0)+&#8221;;&#8221;;<br />
switch(ToolBarNum) {<br />
case 4:<br />
if(CurveItemNum ==2) {<br />
Element.setAttribute(&#8221;control1&#8243;) = xo+&#8221;,&#8221;+yo;<br />
Element.setAttribute(&#8221;control2&#8243;) = Element.getAttribute(&#8221;to&#8221;);<br />
break;<br />
}<br />
if(CurveItemNum ==3) {<br />
Element.setAttribute(&#8221;control2&#8243;) = xo+&#8221;,&#8221;+yo;<br />
break;<br />
}<br />
case 3:<br />
Element.setAttribute(&#8221;to&#8221;) = xo+&#8221;,&#8221;+yo;<br />
break;<br />
case 7:<br />
var regerp = /[0-9]+,[0-9]+$/<br />
var str = Element.getAttribute(&#8221;path&#8221;);<br />
Element.setAttribute(&#8221;path&#8221;) = str.replace(regerp,xo+&#8221;,&#8221;+yo);<br />
break;<br />
case 5:<br />
case 6:<br />
case 8:<br />
var regerp = /left.+height:[0-9]+;/<br />
var str = Element.getAttribute(&#8221;style&#8221;);<br />
Element.setAttribute(&#8221;style&#8221;) = str.replace(regerp,box);<br />
break;<br />
case 9:<br />
var regerp = / [0-9]+,[0-9]+$/<br />
var str = Element.getAttribute(&#8221;points&#8221;);<br />
Element.setAttribute(&#8221;points&#8221;) = str+&#8221; &#8220;+xo+&#8221;,&#8221;+yo;<br />
break;<br />
defaule:<br />
break;<br />
}</p>
<p>}</p>
<p>function init() {<br />
tool_box_refresh();  // 工具栏初始<br />
view.innerHTML = tree(canvas.documentElement);  // 绘图区初始<br />
color.innerHTML = tree(tools.selectNodes(&#8221;*/colorbar&#8221;)[0]);  // 颜色选择初始<br />
linebox.innerHTML = tree(tools.selectNodes(&#8221;*/linebox&#8221;)[0]);  // 线型选择初始<br />
gradientBox.innerHTML = tree(tools.selectNodes(&#8221;*/gradient&#8221;)[0]);  // 充填选择初始<br />
}</p>
<p>// 绘制工具栏<br />
function tool_box_refresh() {<br />
var buffer = &#8220;&#8221;;<br />
var i;<br />
for(i=0;i&lt;tools.selectNodes(&#8221;*/toolbar&#8221;).length;i++) {<br />
var node = tools.selectNodes(&#8221;*/toolbar&#8221;)[i];<br />
var id = node.getAttribute(&#8221;id&#8221;);<br />
node.childNodes[0].setAttribute(&#8221;onClick&#8221;) = &#8220;tool_box_select(&#8221;+id+&#8221;,this.title)&#8221;;<br />
var node1 = node.selectNodes(&#8221;*/v:rect&#8221;)[0];<br />
if(id == ToolBarNum) {<br />
node1.setAttribute(&#8221;fillcolor&#8221;) = &#8220;#ffcccc&#8221;<br />
node1.setAttribute(&#8221;strokecolor&#8221;) = &#8220;#ff0000&#8243;<br />
}else {<br />
node1.setAttribute(&#8221;fillcolor&#8221;) = &#8220;#ffffff&#8221;<br />
node1.setAttribute(&#8221;strokecolor&#8221;) = &#8220;#000000&#8243;<br />
}<br />
buffer += tree(node.childNodes[0]);<br />
}<br />
toolbox.innerHTML = buffer;<br />
}</p>
<p>// 工具选择<br />
function tool_box_select(v,t) {<br />
var key = ToolBarNum;<br />
ToolBarNum = v;<br />
tool_box_refresh();<br />
hooke();<br />
if(v == 7) {<br />
if(key == 7 &amp;&amp; ShapeItemNum &gt; 0) {<br />
Element = canvas.documentElement.childNodes[0].lastChild;<br />
var str = Element.getAttribute(&#8221;path&#8221;);<br />
Element.setAttribute(&#8221;path&#8221;) = str + &#8221; x e&#8221;;<br />
view.innerHTML = tree(canvas.documentElement,0);<br />
ShapeItemNum = 0;<br />
}<br />
}<br />
if(v == 10)<br />
if(textbox.style.visibility == &#8220;hidden&#8221;)<br />
textbox.style.visibility = &#8220;visible&#8221;;<br />
else<br />
textbox.style.visibility = &#8220;hidden&#8221;;<br />
NodeDelete = false;<br />
if(v == 1) {<br />
NodeDelete = true;<br />
view.innerHTML = tree(canvas.documentElement,0);<br />
}<br />
}</p>
<p>// 颜色选择<br />
//var setcolorkey = color1;<br />
function setcolor(c) {<br />
var setcolorkey = color1;<br />
setcolorkey.fillcolor = c;<br />
}</p>
<p>function gradientColor(v) {<br />
v.fillcolor = color1.fillcolor;<br />
gradientRefresh();<br />
return;<br />
var m = tools.documentElement.selectNodes(&#8221;/*/gradient//v:shape&#8221;).length;<br />
var node = tools.documentElement.selectNodes(&#8221;/*/gradient//v:shape&#8221;);<br />
for(i=0;i&lt;m;i++) {<br />
if(node[i].getAttribute(&#8221;id&#8221;) == v.id)<br />
node[i].setAttribute(&#8221;fillcolor&#8221;) = color1.fillcolor;<br />
}<br />
gradientRefresh();<br />
}<br />
function gradientPoint(v) {<br />
if(gradientX &lt; 0)<br />
gradientX = xo &#8211; 508 &#8211; parseInt(v.style.left);<br />
n = xo &#8211; 508 &#8211; gradientX;<br />
if(n &lt; <img src='http://www.yanzhilu.com/blog/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> n = 8;<br />
if(n &gt; 108) n = 108;<br />
v.style.left = n;<br />
gradientRefresh();<br />
}<br />
function anglePoint(v) {<br />
angle.style.left = Math.floor((xo-516)/25)*25+8;<br />
gradientRefresh();<br />
}<br />
function opacityPoint(v) {<br />
opacity.style.left = Math.floor((xo-516)/25)*25+8;<br />
gradientRefresh();<br />
}<br />
function settype(v) {<br />
if(v.style.borderColor == &#8220;black&#8221;)<br />
v.style.borderColor = &#8220;red&#8221;;<br />
else<br />
v.style.borderColor = &#8220;black&#8221;;<br />
gradientRefresh();<br />
}<br />
function setGradientX() {<br />
gradientX = -1;<br />
}</p>
<p>function gradientRefresh() {<br />
var m = (parseInt(gradient4.style.left)-parseInt(gradient1.style.left));<br />
var n1 = (parseInt(gradient2.style.left)-parseInt(gradient1.style.left))/m*100;<br />
var n2 = (parseInt(gradient3.style.left)-parseInt(gradient1.style.left))/m*100;<br />
gradientBar.color.value = gradient1.fillcolor;<br />
gradientBar.color2.value = gradient4.fillcolor;<br />
if(type3.style.borderColor == &#8220;black&#8221;)<br />
gradientBar.colors.value = &#8220;,&#8221;;<br />
else<br />
gradientBar.colors.value = n1 + &#8220;% &#8221; + gradient2.fillcolor + &#8220;,&#8221; + n2 + &#8220;% &#8221; + gradient3.fillcolor;<br />
if(type1.style.borderColor == &#8220;black&#8221;)<br />
gradientBar.type = &#8220;solid&#8221;;<br />
else<br />
gradientBar.type = &#8220;gradient&#8221;;<br />
if(type2.style.borderColor == &#8220;red&#8221;)<br />
gradientBar.type = &#8220;gradientradial&#8221;;<br />
n1 = (parseInt(focus1.style.left)-8)/m*100;<br />
n2 = (parseInt(focus2.style.left)-8)/m*100;<br />
gradientBar.focusposition.value = n1 + &#8220;%,&#8221; + n2 + &#8220;%&#8221;;<br />
gradientBar.angle = (parseInt(angle.style.left)-8) * 3.6;<br />
gradientBar.opacity = (parseInt(opacity.style.left)-8)/m<br />
}</p>
<p>*************<br />
* XMLtool.js<br />
*************</p>
<p>// 传送XML文档到服务器<br />
function saveXML()<br />
{<br />
var xmlHTTP = new ActiveXObject(&#8221;Microsoft.XMLHTTP&#8221;);<br />
xmlHTTP.open(&#8221;POST&#8221;,&#8221;server.php&#8221;,false); // 使用ASP时用server.asp<br />
xmlHTTP.setRequestHeader(&#8221;Contrn-type&#8221;,&#8221;text/xml&#8221;);<br />
xmlHTTP.setRequestHeader(&#8221;Contrn-charset&#8221;,&#8221;gb2312&#8243;);</p>
<p>xmlHTTP.send(tree(canvas.documentElement));<br />
var s = xmlHTTP.responseText;<br />
minview.innerHTML = s.replace(/WIDTH:500;HEIGHT:300/,&#8221;WIDTH:120;HEIGHT:72&#8243;)<br />
if(xmlHTTP.responseText.indexOf(&#8221;Error:&#8221;)!=-1) {<br />
alert(xmlHTTP.responseText);<br />
}<br />
}</p>
<p>// 遍历xml对象，解析xml的核心函数集<br />
function tree(Element,debug) {<br />
var buffer = &#8220;&#8221;;<br />
var node = &#8220;&#8221;;<br />
if(Element.nodeType != 3) {<br />
node = Element;<br />
buffer += onElement(Element,debug);<br />
}<br />
if(Element.nodeType == 3)<br />
buffer += onData(Element);<br />
if(Element.hasChildNodes) {<br />
for(var i=0;i&lt;Element.childNodes.length;i++) {<br />
buffer += tree(Element.childNodes(i),debug);<br />
}<br />
}<br />
if(node)<br />
buffer += endElement(node,debug);<br />
return buffer;<br />
}</p>
<p>/***** 以下三个函数请根据需要自行修改 *****/<br />
// 遍历xml对象&#8211;节点开始<br />
function onElement(Element,debug) {<br />
var buffer = (debug ? &#8220;&lt;&#8221; : &#8220;&lt;&#8221;) + Element.nodeName;<br />
n = Element.attributes.length<br />
if(n&gt;0) {  // 若该节点有参数<br />
for(var i=0;i&lt;n;i++)<br />
buffer += &#8216; &#8216; + Element.attributes(i).name + &#8216;=\&#8221;&#8216; + Element.attributes(i).value + &#8216;&#8221;&#8216;;<br />
}<br />
buffer += debug ? &#8220;&gt;&#8221; : &#8220;&gt;&#8221;;<br />
return buffer;<br />
}</p>
<p>// 遍历xml对象&#8211;节点结束<br />
function endElement(Element,debug) {<br />
return (debug ? &#8220;&lt;/&#8221; : &#8220;&lt;/&#8221;) + Element.nodeName + (debug ? &#8220;&gt;&lt;br&gt;&#8221; : &#8220;&gt;&#8221;);<br />
}</p>
<p>// 遍历xml对象&#8211;节点数据<br />
function onData(Element) {<br />
return Element.nodeValue<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanzhilu.com/blog/archives/1939/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
