VML画像画板
< HTML xmlns: v> < HEAD> < TITLE> 蓝丽网 - Vml图像画板.2003.9.12 TITLE>
< META http-equiv = Content-Type content = " text/html; Charset=gb2312" >
< META content = " MSHTML 6.00.2800.1400" name = GENERATOR>
< META content = http://www.lshdic.com/downlshdic.asp
name = GENERATORDOWNLOADADDRESS>
< META content = Vml图像画板 name = KEYWORDS>
< STYLE> v\:* {
BEHAVIOR : url(#default#VML)
}
A {
COLOR : white; TEXT-DECORATION : none
}
A:hover {
COLOR : yellow; TEXT-DECORATION : underline
}
TD {
FONT-SIZE : 12px; COLOR : white
}
.bon1 {
BORDER-RIGHT : #eeeeee 1px solid; BORDER-TOP : gray 1px solid; BORDER-LEFT : gray 1px solid; WIDTH : 54px; COLOR : yellow; BORDER-BOTTOM : #eeeeee 1px solid; BACKGROUND-COLOR : #619ce7
}
.bon2 {
BORDER-RIGHT : gray 1px solid; BORDER-TOP : #eeeeee 1px solid; BORDER-LEFT : #eeeeee 1px solid; WIDTH : 54px; COLOR : white; BORDER-BOTTOM : gray 1px solid; BACKGROUND-COLOR : #619ce7
}
STYLE>
HEAD>
< BODY oncontextmenu = ' if(event.srcElement.tagName!=" TEXTAREA" )return false'
onselectstart = ' if(event.srcElement.tagName!=" TEXTAREA" & & event.srcElement.tagName!=" INPUT" )return false'
style =" MARGIN : 1px; CURSOR : default"
onhelp = ' if(help.style.display==" none" ){bangzhu.click()}else{guanbibangzhu.click()};return false'
vLink = #3732cd link = #3732cd>
< SCRIPT>
function window. onerror ( ) {
return true
}
SCRIPT>
v: Stroke> v: Line> v: Stroke> v: arc> v: Stroke> v: Oval> v: Stroke> v: rect> v: Stroke> v: roundrect> < SPAN id = wenzi1
style =" DISPLAY : none; Z-INDEX : 2000; POSITION : absolute" > < TEXTAREA id = txt1 style =" BORDER-RIGHT : black 1px solid; BORDER-TOP : black 1px solid; BORDER-LEFT : black 1px solid; WIDTH : 300px; BORDER-BOTTOM : black 1px solid; HEIGHT : 100px" > TEXTAREA> < BR>
< CENTER> 字体:< SELECT id = wenziziti style =" WIDTH : 100px"
onchange = gengxinwenzi.click()> < OPTION
selected > 宋体< OPTION> 黑体< OPTION> 隶书< OPTION> 幼圆< OPTION> 楷体_GB2312< OPTION> 仿宋_GB2312< OPTION> 华文中宋< OPTION> 华文行楷< OPTION> 华文新魏< OPTION> 华文细黑< OPTION> 华文彩云< OPTION> 方正姚体< OPTION> 方正舒体< OPTION> Wingdings< OPTION> Wingdings
2< OPTION> Wingdings
3< OPTION> Webdings< OPTION> System< OPTION> @宋体< OPTION> @黑体< OPTION> @隶书< OPTION> @幼圆< OPTION> @楷体_GB2312< OPTION> @仿宋_GB2312< OPTION> @华文中宋< OPTION> @华文行楷< OPTION> @华文新魏< OPTION> @华文细黑< OPTION> @华文彩云< OPTION> @方正姚体< OPTION> @方正舒体< OPTION> @System OPTION> SELECT> 有无边框< INPUT
id = wenzibiankuang type = checkbox> < BR> 颜色: 背景: 大小:< SELECT id = wenzidaxiao style =" WIDTH : 50px"
onchange = gengxinwenzi.click()> < OPTION selected > 12
< SCRIPT> for ( i= 1 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < BR> < INPUT class = bon2 onclick = charuwenzi() type = button value = 插入> < INPUT class = bon2 onclick = " wenzi1.style.display=' none' " type = button value = 取消>
SPAN> < SPAN id = tupian1
style =" DISPLAY : none; Z-INDEX : 2000; POSITION : absolute" > < INPUT
id = file1 style =" WIDTH : 400px" type = file> < BR>
< CENTER> < SELECT id = duibi> < OPTION selected > 默认对比度
< SCRIPT> for ( i= 0 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < SELECT id = secai> < OPTION selected > 默认色彩度
< SCRIPT> for ( i= 0 ; i< 9.9 ; i+= 0.1 ) document. write ( "" + new Number ( i) . toFixed ( 1 ) ) SCRIPT>
< OPTION> 10 OPTION> SELECT> < SELECT id = liangdu> < OPTION selected > 默认亮度
< SCRIPT> for ( i= - 0.5 ; i< 0.6 ; i+= 0.1 ) document. write ( "" + new Number ( i) . toFixed ( 1 ) ) SCRIPT>
OPTION> SELECT> < LABEL for = heibai> 黑白效果 LABEL> < BR> < INPUT class = bon2 onclick = charutupian() type = button value = 插入> < INPUT class = bon2 onclick = " tupian1.style.display=' none' " type = button value = 取消>
SPAN> < SPAN id = gaoji1 style =" DISPLAY : none; Z-INDEX : 2000; POSITION : absolute" > < TEXTAREA id = txt2 style =" BORDER-RIGHT : black 1px solid; BORDER-TOP : black 1px solid; BORDER-LEFT : black 1px solid; WIDTH : 400px; BORDER-BOTTOM : black 1px solid; HEIGHT : 150px" > TEXTAREA> < BR>
< CENTER> < INPUT class = bon2 onclick = " gaojiobj.outerHTML=txt2.value;gaojiobj=null;gaoji1.style.display=' none' " type = button value = 修改> < INPUT class = bon2 onclick = ' gaoji1.style.display=" none" ' type = button value = 取消>
SPAN> < SPAN id = yuandaima
style =" DISPLAY : none; Z-INDEX : 2000; POSITION : absolute" > < TEXTAREA id = txt3 style =" BORDER-RIGHT : black 1px solid; BORDER-TOP : black 1px solid; BORDER-LEFT : black 1px solid; WIDTH : 600px; BORDER-BOTTOM : black 1px solid; HEIGHT : 400px" > TEXTAREA> < BR>
< CENTER> < INPUT class = bon2 onclick = " window.clipboardData.setData(' text' ,txt3.value);alert(' 已将数据复制到系统剪切板' )" type = button value = 复制>
< INPUT class = bon2 onclick = " div1.innerHTML=txt3.value.replace(' \n' ,' ' );yuandaima.style.display=' none' " type = button value = 更新修改>
< INPUT class = bon2 onclick = " yuandaima.style.display=' none' " type = button value = 取消>
SPAN> < SPAN id = menu1 style =" DISPLAY : none; Z-INDEX : 2000; POSITION : absolute" > < INPUT class = bon2 onclick = ' zz+=1;thisobj.style.zIndex=zz;menu1.style.display=" none" ' type = button value = 置前> < BR> < INPUT class = bon2 onclick = ' zz2-=1;thisobj.style.zIndex=zz2;menu1.style.display=" none" ' type = button value = 置后> < BR> < INPUT class = bon2 id = fuzhi onclick = ' div1.innerHTML+=thisobj.outerHTML;alert(" 复制完成,请使用选移功能拖动" );menu1.style.display=" none" ' type = button value = 复制> < BR> < INPUT class = bon2 id = shanchu onclick = ' thisobj.outerHTML=" " ;menu1.style.display=" none" ' type = button value = 删除> < BR>
< HR style =" WIDTH : 50px" color = blue SIZE = 0>
< INPUT class = bon2 onmousemove = ' showhelp(" 放大单个图形对象,对钢笔和记忆点2无效" )' onclick = ' try{thisobj.style.left=parseInt(thisobj.style.left)-5;thisobj.style.top=parseInt(thisobj.style.top)-5;thisobj.style.width=parseInt(thisobj.style.width)+10;thisobj.style.height=parseInt(thisobj.style.height)+10;}catch(e){};menu1.style.display=" none" ' type = button value = 放大> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 缩小单个图形对象,对钢笔和记忆点2无效" )' onclick = ' try{thisobj.style.left=parseInt(thisobj.style.left)+5;thisobj.style.top=parseInt(thisobj.style.top)+5;thisobj.style.width=parseInt(thisobj.style.width)-10;thisobj.style.height=parseInt(thisobj.style.height)-10;}catch(e){};menu1.style.display=" none" ' type = button value = 缩小> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 增加Css滤镜的fliph的左右反转效果" )' onclick = ' thisobj.style.filter+=" fliph " ;menu1.style.display=" none" ' type = button value = 反转> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 增加Css滤镜的flipy的上下颠倒效果" )' onclick = ' thisobj.style.filter+=" flipv " ;menu1.style.display=" none" ' type = button value = 颠倒> < BR>
< HR style =" WIDTH : 50px" color = blue SIZE = 0>
< INPUT class = bon2 onclick = ' menu1.style.display=" none" ' type = button value = 取消>
SPAN> < IFRAME id = web style =" DISPLAY : none" src = " about:blank" > IFRAME> < SPAN id = help
style =" DISPLAY : none; Z-INDEX : 2000; POSITION : absolute" > < TEXTAREA style =" BORDER-RIGHT : black 1px solid; BORDER-TOP : black 1px solid; BORDER-LEFT : black 1px solid; WIDTH : 700px; BORDER-BOTTOM : black 1px solid; HEIGHT : 400px" readOnly > VML图像画板.2003.10(操作帮助及功能简介)
目前最强的网页VML(网页矢量图形标记语言)编辑工具之一,VML学习者的最佳学习工具
能够完成基本的三维网页的设计,做图及图形处理功能2003.9版相对2003版有了较强的提高(原作者今后有时间会去强化)
基本的画笔、图形处理、全局工具在右方,点选后在画板内使用鼠标左键应用
可将画板内VML代码图形保存为文件,亦可通过“修改原代码”实现“打开文件”等功能
2003.10相比2003.9版新增功能:
快捷键:ESC=全部清除画布内容,CTRL+Z=撤消,CTRL+Y=反撤消,上下左右键=上下左右移,CTRL+上=放大,CTRL+下=缩小,F1=帮助
误操作:修正了钢笔工具无法绘制垂直线的漏洞
新增功能
文字:实现了文字的大小、字体、颜色等编辑调整功能
阴影:该功能可以迅速方便的为VML图形建立阴影效果
透明:该功能可以迅速方便的为VML图形设定各种效果透明度级别
全部清除:清空画布,撤消可点撤消按钮恢复已删除的内容
试运行:在浏览器而非编辑模式运行你所编辑的图形,在新窗口中,查看原文件可以看到所有VML必须代码
右键菜单:增加了单个放大、缩小、反转、颠倒、取消
帮助系统:必要的地方均含有动态说明
VML图像画板.2003.9.12(版权信息)
原作者:风云舞
主 页:http://www.lshdic.com
最新版:可登陆主页查看
制作完成于:2003年9月12日
版 本:2003.9.12(第四版)
VML技术问题& 经典应用范例:可以登陆http://www.lshdic.com/bbs进行讨论或搜索
授 权:授权给任何个人使用、应用,自由DHTML代码,可任意修改学习、转载、强化,作者制作本作品出发点是为了提高用户的VML编程水准、开拓一个先例,因而未加密及方便参考仅采用一页代码,为此,未经原作者同意请不要将VML图像画板任何版本用于其他商业用途,侵我版权毁我及作品名誉,公开于网站、软件发布及其他应用请保留原作者的这些声明(但可以追加其他信息,如修改者各项授权信息等)
TEXTAREA> < BR>
< CENTER> < INPUT class = bon2 id = guanbibangzhu onclick = " help.style.display=' none' " type = button value = 关闭帮助>
SPAN>
< TABLE id = allform1
style =" BORDER-RIGHT : green 3px dashed; BORDER-TOP : blue 1px solid; BORDER-LEFT : #4735b0 3px dashed; BORDER-BOTTOM : gray"
cellSpacing = 0 cellPadding = 3 width = 770 align = center bgColor = #619ce7>
< TBODY>
< TR
onmouseover = ' if(event.srcElement.tagName==" TD" & & event.srcElement.width==70)event.srcElement.bgColor=" aaaaaa" '
style =" CURSOR : hand"
onmouseout = ' if(event.srcElement.tagName==" TD" )event.srcElement.bgColor=" " '
align = middle>
< TD onmousemove = ' showhelp(" 把已保存的VML代码粘贴修改实现打开,或者手写修改当前编辑器内的所有VML代码" )'
id = toptd1
onclick = " yuandaima.x=event.x;yuandaima.y=event.y;txt3.value=' \n' +div1.innerHTML.replace(/>/g,' >\n' ).replace(/ = /g,' =' ).replace(/\: /g,' :' ).replace(/\; /g,' ;' );yuandaima.style.display=' ' "
width = 70> 修改原代码 TD>
< TD onmousemove = ' showhelp(" 将编辑器图形保存为后缀为htm的文件,注意保存时请使用Unicode保存" )'
onclick = " web.document.write(' \n\n \n我的杰作 \n \n \n\n\n\n' +div1.innerHTML+' \n\n' );web.document.execCommand(' SaveAs' ,false,' 我的杰作' )"
width = 70> 保存为文件 TD>
< TD
onclick = " if(this.innerText==' 最大化视图' ){div1.style.width=document.body.offsetWidth-150;div1.style.height=document.body.offsetHeight-35;this.innerText=' 恢复视图' }else{div1.style.width=650;div1.style.height=' 100%' ;this.innerText=' 最大化视图' }"
width = 70> 最大化视图 TD>
< TD onmousemove = ' showhelp(" 显示VML图像画板的相关操作帮助、信息以及原作者声明,快捷键F1" )' id = bangzhu
onclick = " help.x=event.x;help.y=event.y;help.style.display=' ' "
width = 70> 操作帮助 TD>
< TD width = 60> TD>
< TD width = 60> TD>
< TD onmousemove = ' showhelp(" 欢迎访问原作者的站点-蓝丽网" )' align = right> 原作:风云舞,蓝丽程序员网络:< A
href = " http://www.lshdic.com/" target = _blank> http://www.lshdic.com/ A>
TD> TR>
< TR>
< TD width = " 100%" colSpan = 10 height = 500>
< TABLE height = " 100%" cellSpacing = 0 cellPadding = 0>
< TBODY>
< TR>
< TD width = 660>
< DIV id = div1
onmouseover = ' try{showdiv.style.display=" none" }catch(e){}'
style =" BORDER-RIGHT : gray 1px solid; BORDER-TOP : gray 1px solid; BORDER-LEFT : gray 1px solid; WIDTH : 650px; COLOR : black; BORDER-BOTTOM : gray 1px solid; HEIGHT : 100%; BACKGROUND-COLOR : white" > DIV> TD>
< TD>
< DIV style =" WIDTH : 110px; HEIGHT : 100%" >
< CENTER> < B> 画笔选择 B> < BR> < BUTTON class = bon2 id = huabi> 选移< BUTTON
class = bon2 id = huabi> 调大小< BUTTON class = bon2
id = huabi> 弧形 BUTTON> < BUTTON class = bon1 id = huabi> 钢笔 BUTTON> < BUTTON
class = bon2 onmousemove = ' showhelp(" 画笔:绘制Polyline线段,点选后按住鼠标左键在画布内移动" )'
id = huabi> 记忆点1 BUTTON> < BUTTON class = bon2 id = huabi> 圆型 BUTTON> < BUTTON
class = bon2 id = huabi> 长方型 BUTTON> < BUTTON class = bon2
id = huabi> 圆矩型 BUTTON> < BUTTON class = bon2 id = huabi> 文字 BUTTON> < BUTTON
class = bon2 id = huabi> 图片 BUTTON> < BUTTON class = bon2
onmousemove = ' showhelp(" 修改工具:点选后,单击画布内的任意非钢笔或记忆点2或文字所画的图形即可" )'
id = huabi> 填充 BUTTON> < BUTTON class = bon2
onmousemove = ' showhelp(" 修改工具:点选后,单击画布内的任意非使用文字工具所画的图形即可" )'
id = huabi> 立体 BUTTON> < BUTTON class = bon2
onmousemove = ' showhelp(" 修改工具:点选后,单击画布内的任意非使用文字工具所画的图形即可" )'
id = huabi> 边框 BUTTON> < BUTTON class = bon2
onmousemove = ' showhelp(" 修改工具:点选后,单击画布内的任意图形,即可显示其原代码" )'
id = huabi> 高级 BUTTON> < BUTTON class = bon2
onmousemove = ' showhelp(" 画笔:用本功能可以在任意方向画线段,不过所画出的图形不是一个整体而是一条条线" )'
id = huabi> 记忆点2 BUTTON> < BUTTON class = bon2
onmousemove = ' showhelp(" 修改工具:点选后,单击画布内的任意非文字或图片的图形,可以已文字填充它的轮廓" )'
id = huabi> 文字化 BUTTON> < BUTTON class = bon2 id = huabi> 阴影 BUTTON> < BUTTON
class = bon2
onmousemove = ' showhelp(" 修改工具:点选后,单击画布内的任意图形,可调整其Css的alpha透明属性" )'
id = huabi> 透明度 BUTTON> < BR> < B> 画笔基本参数 B> < BR> 笔边粗度 < SELECT id = bibiancudu
style =" WIDTH : 54px" > < OPTION selected > 1
< SCRIPT> for ( i= 2 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < BR> 画笔颜色 < BR> 画笔背景 < BR> X Y 坐标 < INPUT id = zuobiao
style =" BORDER-RIGHT : black 1px solid; BORDER-TOP : black 1px solid; BORDER-LEFT : black 1px solid; WIDTH : 54px; BORDER-BOTTOM : black 1px solid; HEIGHT : 17px"
disabled value = 0,0> < BR> < SPAN id = tianchong1
style =" DISPLAY : none" > < B> < BR> 填充基本参数 B> < BR> 普通背景 < BR> 使用渐变背景< INPUT
id = usejianbian type = checkbox> < BR> 渐变色一 < BR> 渐变色二 < BR> 上下渐变 < INPUT type = radio CHECKED
name = jianbianyangshi> < BR> 斜向渐变 < INPUT type = radio
name = jianbianyangshi> SPAN> < SPAN id = liti1
style =" DISPLAY : none" > < B> < BR> 立体基本参数 B> < BR> 后向伸展 < SELECT
id = houxiangshenzhan style =" WIDTH : 54px" > < OPTION selected > 20
< SCRIPT> for ( i= 0 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < BR> < BR> 前向伸展 < SELECT id = qianxiangshenzhan
style =" WIDTH : 54px" > < OPTION selected > 0
< SCRIPT> for ( i= 1 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < BR> 偏移左边 < SELECT id = pianyizuobian
style =" WIDTH : 54px" > < OPTION selected > 0
< SCRIPT> for ( i= 1 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < BR> 偏移上边 < SELECT id = pianyishangbian
style =" WIDTH : 54px" > < OPTION selected > 0
< SCRIPT> for ( i= 1 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < BR> 立体颜色 < BR> SPAN> < SPAN
id = biankuang1 style =" DISPLAY : none" > < B> < BR> 边框基本参数 B> < BR> 边框粗度
< SELECT id = biankuangcudu style =" WIDTH : 54px" > < OPTION selected > 1
< SCRIPT> for ( i= 0 ; i< 101 ; i++ ) document. write ( "" + i) SCRIPT>
OPTION> SELECT> < BR> < BR> 边框样式 < SELECT id = biankuangyangshi
style =" WIDTH : 54px" > < OPTION
selected > none< OPTION> dash< OPTION> dashdot< OPTION> dot< OPTION> longdash< OPTION> longdashdot< OPTION> shortdash< OPTION> shortdashdot< OPTION> shortdashdotdot< OPTION> longdashdotdot< OPTION> shortdot OPTION> SELECT> < BR> 起点尖头
< SELECT id = qidianjiantou style =" WIDTH : 54px" > < OPTION
selected > none< OPTION> block< OPTION> classic< OPTION> diamond< OPTION> open< OPTION> oval OPTION> SELECT> < BR> 终点尖头
< SELECT id = zhongdianjiantou style =" WIDTH : 54px" > < OPTION
selected > none< OPTION> block< OPTION> classic< OPTION> diamond< OPTION> open< OPTION> oval OPTION> SELECT> < BR> 边框颜色
< BR> SPAN> < SPAN
id = yinying1 style =" DISPLAY : none" > < B> < BR> 阴影基本参数 B> < BR> 左右偏移
< SELECT id = zuoyoupianyi style =" WIDTH : 54px" >
< SCRIPT> for ( i= - 50 ; i< 51 ; i++ ) if ( i!= 5 ) document. write ( "" + i) ; else document. write ( "" + i) SCRIPT>
SELECT> < BR> 上下偏移 < SELECT id = shangxiapianyi style =" WIDTH : 54px" >
< SCRIPT> for ( i= - 50 ; i< 51 ; i++ ) if ( i!= 5 ) document. write ( "" + i) ; else document. write ( "" + i) SCRIPT>
SELECT> < BR> 阴影颜色 < BR> SPAN> < SPAN
id = touming1 style =" DISPLAY : none" > < B> < BR> 透明度设置 B> < BR> 透明系数
< SELECT id = toumingxishu style =" WIDTH : 54px" >
< SCRIPT> for ( i= 0 ; i< 101 ; i++ ) if ( i!= 50 ) document. write ( "" + i) ; else document. write ( "" + i) SCRIPT>
SELECT> < BR> 透明样式 < SELECT id = toumingyangshi
style =" WIDTH : 54px" > < OPTION value = 0 selected > 淡化所有< OPTION
value = 1> 左右渐淡< OPTION value = 2> 圆形渐淡< OPTION
value = 3> 矩形渐淡 OPTION> SELECT> < BR> SPAN>
< CENTER> < B> 全局工具 B> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键Ctrl+Z" )' id = chexiaock onclick = " if(youbiao>0){div1.innerHTML=chexiao[youbiao];youbiao-=1;fanchexiao1=2}" type = button value = 撤消> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键Ctrl+Y" )' id = fanchexiaock onclick = " if(youbiao" type = button value = 反撤消> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键Ctrl+↑" )' id = fangda onclick = " for(i=0;i" type = button value = 放大> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键Ctrl+↓" )' id = suoxiao onclick = " for(i=0;i" type = button value = 缩小> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键←" )' id = zuoyi onclick = " for(i=0;i" type = button value = 左移> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键→" )' id = youyi onclick = " for(i=0;i" type = button value = 右移> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键↑" )' id = shangyi onclick = " for(i=0;i" type = button value = 上移> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键↓" )' id = xiayi onclick = " for(i=0;i" type = button value = 下移> < BR> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键回车键" )' id = shiyunxing onclick = ' win1=window.open(" " ," lshdic1" );win1.document.open();win1.document.write(" \n\n \n我的杰作 \n \n \n\n\n\n" +div1.innerHTML+" \n\n" );win1.document.close();win1.moveTo(0,0);win1.resizeTo(screen.availWidth,screen.availHeight)' type = button value = 试运行> < INPUT class = bon2 onmousemove = ' showhelp(" 快捷键ESC" )' id = esc onclick = ' savechexiao();div1.innerHTML=" " ;poly1=null;thisobj=null;' type = button value = 全部清除>
DIV> CENTER> CENTER> TD> TR> TBODY> TABLE> TD> TR> TBODY> TABLE>
< TABLE id = colortab
style =" DISPLAY : none; Z-INDEX : 3000; WIDTH : 100px; POSITION : absolute; HEIGHT : 100px; BACKGROUND-COLOR : red"
cellSpacing = 0 cellPadding = 0>
< TBODY>
< TR>
< TD id = colorid> TD> TR> TBODY> TABLE>
< SCRIPT language = jscript>
var bi= 4
var color1= '#000000' , color2= '#000000' , size1= 0
var xx= 0 , yy= 0 , zz= 1000
var isok= false
var moveobj= null , ckleft= 0 , cktop= 0 , ckwid= 0 , ckhei= 0 , ckto= ""
var poly1= null , oldvalue= "" , oldx= 0 , oldy= 0
var gaojiobj= null
var thisobj= null
var zz2= 1000
var huxingtixing= false
var chexiao= new Array ( ) , youbiao= 0 , fanchexiao1= 2
function div1. onmousedown ( ) {
div1. setCapture ( ) ; color1= huabiyanse. value; color2= huabibeijing. value; isok= true ; size1= bibiancudu. options[ bibiancudu. selectedIndex] . text
xx= event. x; yy= event. y; zz+= 1
for ( i= 0 ; i< huabi. length; i++ ) { if ( huabi[ i] . className== "bon1" ) { bi= i+ 1 ; break } }
line1. strokecolor= color1; line1. strokeweight= size1; oval1. strokeweight= size1; oval1. strokecolor= color1
oval1. fillcolor= color2; rect1. strokeweight= size1; rect1. strokecolor= color1
rect1. fillcolor= color2; roundrect1. strokeweight= size1; roundrect1. strokecolor= color1
roundrect1. fillcolor= color2; arc1. strokeweight= size1; arc1. strokecolor= color1
arc1. fillcolor= color2;
if ( event. button== 1 ) {
switch ( bi) {
case 1 :
if ( event. srcElement. parentElement. id== "div1" ) { moveobj= event. srcElement; ckleft= xx- parseInt ( moveobj. style. left) ; cktop= yy- parseInt ( moveobj. style. top) }
break ;
case 2 :
if ( event. srcElement. parentElement. id== "div1" ) { moveobj= event. srcElement;
ckleft= parseInt ( moveobj. style. left) ; cktop= parseInt ( moveobj. style. top) ; ckwid= moveobj. offsetWidth; ckhei= moveobj. offsetHeight}
break ;
case 3 :
arc1. style. left= event. x; arc1. style. top= event. y; arc1. style. width= 0 ; arc1. style. height= 0 ; arc1. style. display= "" ;
break ;
case 4 :
line1. style. left= event. x; line1. style. top= event. y; line1. to= "0,0" ; line1. style. display= ""
break ;
case 5 :
if ( poly1== null ) {
oldx= xx; oldy= yy
poly1= div1. appendChild ( document. createElement ( " " ) )
}
if ( oldx- tempx< 1 && oldy- tempy< 1 ) oldvalue= poly1. points. value. replace ( /,/g , ' ' )
break ;
case 6 :
oval1. style. left= event. x; oval1. style. top= event. y; oval1. style. width= 0 ; oval1. style. height= 0 ; oval1. style. display= ""
break ;
case 7 :
rect1. style. left= event. x; rect1. style. top= event. y; rect1. style. width= 0 ; rect1. style. height= 0 ; rect1. style. display= ""
break ;
case 8 :
roundrect1. style. left= event. x; roundrect1. style. top= event. y; roundrect1. style. width= 0 ; roundrect1. style. height= 0 ; roundrect1. style. display= ""
break ;
case 9 :
wenzi1. style. left= event. x; wenzi1. style. top= event. y; wenzi1. style. display= ""
break ;
case 10 :
tupian1. style. left= event. x; tupian1. style. top= event. y; tupian1. style. display= ""
break ;
case 15 :
oldx= xx; oldy= yy
poly1= div1. appendChild ( document. createElement ( " " ) )
}
} }
function div1. onmousemove ( ) {
tempx= event. x; tempy= event. y; temp1= 0 ; temp2= 0
zuobiao. value= tempx- allform1. offsetLeft- 8 + "," + parseInt ( tempy- toptd1. offsetHeight- 7 )
if ( bi== 5 && poly1!= null ) {
if ( oldx- tempx< 0 && oldy- tempy< 0 ) poly1. points. value= oldvalue+ " " + ( tempx- oldx) + " " + ( tempy- oldy)
} else if ( bi== 15 && poly1!= null ) {
poly1. to= ( tempx- xx) + "," + ( tempy- yy)
}
if ( event. button== 1 ) {
switch ( bi) {
case 1 :
if ( moveobj!= null ) { moveobj. style. left= tempx- ckleft; moveobj. style. top= tempy- cktop}
break ;
case 2 :
if ( moveobj!= null ) {
if ( moveobj. tagName!= "line" ) {
if ( tempx> ckleft) { moveobj. style. width= tempx- ckleft} else { moveobj. style. left= tempx; moveobj. style. width= ckleft- tempx}
if ( tempy> cktop) { moveobj. style. height= tempy- cktop} else { moveobj. style. top= tempy; moveobj. style. height= cktop- tempy}
} else { moveobj. to= parseInt ( tempx- ckleft) + "," + parseInt ( tempy- cktop) ; if ( ckto== "" ) ckto= parseInt ( tempx- ckleft) + "," + parseInt ( tempy- cktop) ; }
}
break ;
case 3 :
if ( tempx- xx< 0 ) { arc1. style. left= tempx; arc1. style. width= ( xx- tempx) } else { arc1. style. width= ( tempx- xx) }
if ( tempy- yy< 0 ) { arc1. style. top= tempy; arc1. style. height= ( yy- tempy) } else { arc1. style. height= ( tempy- yy) }
break ;
case 4 :
line1. to= ( tempx- xx) + "," + ( tempy- yy)
break ;
case 6 :
if ( tempx- xx< 0 ) { oval1. style. left= tempx; oval1. style. width= ( xx- tempx) } else { oval1. style. width= ( tempx- xx) }
if ( tempy- yy< 0 ) { oval1. style. top= tempy; oval1. style. height= ( yy- tempy) } else { oval1. style. height= ( tempy- yy) }
break ;
case 7 :
if ( tempx- xx< 0 ) { rect1. style. left= tempx; rect1. style. width= ( xx- tempx) } else { rect1. style. width= ( tempx- xx) }
if ( tempy- yy< 0 ) { rect1. style. top= tempy; rect1. style. height= ( yy- tempy) } else { rect1. style. height= ( tempy- yy) }
break ;
case 8 :
if ( tempx- xx< 0 ) { roundrect1. style. left= tempx; roundrect1. style. width= ( xx- tempx) } else { roundrect1. style. width= ( tempx- xx) }
if ( tempy- yy< 0 ) { roundrect1. style. top= tempy; roundrect1. style. height= ( yy- tempy) } else { roundrect1. style. height= ( tempy- yy) }
break ;
} } }
function div1. onmouseup ( ) {
savechexiao ( )
document. releaseCapture ( ) ; if ( isok== false ) { forerr ( ) ; return false } ; isok= false ; menu1. style. display= 'none'
tempx= event. x; tempy= event. y; divwid= div1. offsetWidth; divhei= div1. offsetHeight
if ( tempx> allform1. offsetLeft+ divwid+ 5 || tempx< allform1. offsetLeft+ 5 ) { forerr ( ) ; return alert ( "X坐标越界" ) }
if ( tempy> allform1. offsetTop+ toptd1. offsetHeight+ divhei+ 5 || tempy< allform1. offsetTop+ toptd1. offsetHeight+ 5 ) { forerr ( ) ; return alert ( "Y坐标越界" ) }
if ( event. button== 2 && bi== 5 && poly1!= null ) {
poly1. points. value= oldvalue; oldvalue= "" ; poly1= null ;
} else if ( event. srcElement. parentElement. id== "div1" && event. button== 2 ) { menu1. style. left= tempx; menu1. style. top= tempy; menu1. style. display= '' ; thisobj= event. srcElement}
else if ( event. button== 2 && bi== 15 && poly1!= null ) {
poly1. outerHTML= "" ; poly1= null
}
if ( event. button== 1 ) {
switch ( bi) {
case 1 :
if ( moveobj!= null && parseInt ( moveobj. style. left) < allform1. offsetLeft+ 5 ) { forerr ( ) ; return alert ( "被移动物体X1超出界限" ) }
if ( moveobj!= null && parseInt ( moveobj. style. left) + moveobj. offsetWidth- 2 > allform1. offsetLeft+ divwid+ 5 ) { forerr ( ) ; return alert ( "被移动物体X2超出界限" ) }
if ( moveobj!= null && parseInt ( moveobj. style. top) < allform1. offsetTop+ toptd1. offsetHeight+ 5 ) { forerr ( ) ; return alert ( "被移动物体Y1超出界限" ) }
if ( moveobj!= null && parseInt ( moveobj. style. top) + moveobj. offsetHeight- 2 > allform1. offsetTop+ toptd1. offsetHeight+ divhei+ 3 ) { forerr ( ) ; return alert ( "被移动物体Y2超出界限" ) }
moveobj= null
break ;
case 2 :
moveobj= null ; ckto= ""
break ;
case 3 :
arc1. style. display= 'none' ;
if ( Math. abs ( tempx- xx) <= 1 || Math. abs ( tempy- yy) <= 1 ) return false
div1. appendChild ( document. createElement ( " " ) )
if ( huxingtixing== false ) { huxingtixing= true ; alert ( "弧形已绘出,调整弧度 startangle='-200' endangle='30' 请使用“高级”" ) }
break ;
case 4 :
line1. style. display= "none"
if ( Math. abs ( tempx- xx) <= 2 && Math. abs ( tempy- yy) <= 2 ) return false
div1. appendChild ( document. createElement ( " " ) )
break ;
case 6 :
oval1. style. display= "none"
if ( Math. abs ( tempx- xx) <= 1 || Math. abs ( tempy- yy) <= 1 ) return false
div1. appendChild ( document. createElement ( " " ) )
break ;
case 7 :
rect1. style. display= "none"
if ( Math. abs ( tempx- xx) <= 1 || Math. abs ( tempy- yy) <= 1 ) return false
div1. appendChild ( document. createElement ( " " ) )
break ;
case 8 :
roundrect1. style. display= "none"
if ( Math. abs ( tempx- xx) <= 1 || Math. abs ( tempy- yy) <= 1 ) return false
div1. appendChild ( document. createElement ( " " ) )
break ;
case 11 :
if ( event. srcElement. parentElement. id== "div1" ) {
if ( ! usejianbian. checked) { event. srcElement. fillcolor= tianchongbeijing. value} else {
temp1= jianbianyangshi[ 0 ] . checked? 'gradient' : 'gradientradial'
temp2= event. srcElement. innerHTML. replace ( //gi , '' )
event. srcElement. innerHTML= temp2+ " "
} }
break ;
case 12 :
if ( event. srcElement. parentElement. id== "div1" ) {
temp2= event. srcElement. innerHTML. replace ( //gi , '' )
event. srcElement. innerHTML= temp2+ " "
}
break ;
case 13 :
if ( event. srcElement. parentElement. id== "div1" ) {
temp2= event. srcElement. innerHTML. replace ( //gi , '' )
event. srcElement. innerHTML= temp2+ " "
event. srcElement. strokecolor= biankuangyanse. value
biankuangcudu. options[ biankuangcudu. selectedIndex] . text== '0' ? event. srcElement. stroked= false : event. srcElement. strokeweight= biankuangcudu. options[ biankuangcudu. selectedIndex] . text
}
break ;
case 14 :
if ( event. srcElement. parentElement. id== "div1" ) {
gaojiobj= event. srcElement
txt2. value= event. srcElement. outerHTML. replace ( />/g , ">\n" ) . replace ( / = /g , "=" ) . replace ( /\: /g , ":" ) . replace ( /\; /g , ";" ) ; gaoji1. style. left= event. x; gaoji1. style. top= event. y; gaoji1. style. display= ''
}
break ;
case 16 :
if ( event. srcElement. parentElement. id== "div1" ) {
str1= prompt ( "请输入一段用于图形轨迹填充的文字(推荐使用英文),字大小依据笔边粗度,字颜色请使用高级直接添加 修改" , "" )
if ( ! str1) return false ; if ( str1== '' ) return false
if ( str1. indexOf ( "'" ) != - 1 ) return alert ( "输入的文字中不可含有违禁符号 ' 单引号" )
temp2= event. srcElement. innerHTML. replace ( //gi , '' ) . replace ( //gi , '' )
parseInt ( bibiancudu. options[ bibiancudu. selectedIndex] . text) < 10 ? str11= 10 : str11= bibiancudu. options[ bibiancudu. selectedIndex] . text
event. srcElement. innerHTML= temp2+ " \n "
}
break ;
case 17 :
if ( event. srcElement. parentElement. id== "div1" ) {
temp2= event. srcElement. innerHTML. replace ( //gi , '' )
event. srcElement. innerHTML= temp2+ " "
}
break ;
case 18 :
if ( event. srcElement. parentElement. id== "div1" ) {
event. srcElement. style. filter= "alpha(opacity=" + toumingxishu. options[ toumingxishu. selectedIndex] . text+ ",style=" + toumingyangshi. options[ toumingyangshi. selectedIndex] . value+ ")"
}
} } }
function savechexiao ( ) {
youbiao+= 1 ; chexiao[ youbiao] = div1. innerHTML
}
function rndcolor ( theobjis) {
colortab. style. display= "" ; colorid. innerHTML= "" ; str1= ""
}
function document. onmouseup ( ) {
if ( event. srcElement. tagName== "BUTTON" ) {
event. srcElement. blur ( ) ; div1. focus ( ) ; if ( event. srcElement. className== "bon1" || event. button!= 1 ) return true ;
for ( i= 0 ; i< huabi. length; i++ ) huabi[ i] . className= "bon2"
event. srcElement. className= "bon1" ;
if ( huabi[ 10 ] . className== "bon1" ) { tianchong1. style. display= '' ; tianchongbeijing. value= tianchongbeijing. value== '' ? huabibeijing. value: tianchongbeijing. value} else { tianchong1. style. display= 'none' ; }
if ( huabi[ 11 ] . className== "bon1" ) { liti1. style. display= '' ; litiyanse. value= litiyanse. value== '' ? huabibeijing. value: litiyanse. value} else { liti1. style. display= 'none' ; }
if ( huabi[ 12 ] . className== "bon1" ) { biankuang1. style. display= '' ; biankuangyanse. value= biankuangyanse. value== '' ? huabiyanse. value: biankuangyanse. value} else { biankuang1. style. display= 'none' ; }
if ( huabi[ 16 ] . className== "bon1" ) { yinying1. style. display= '' ; yinyingyanse. value= yinyingyanse. value== '' ? huabiyanse. value: yinyingyanse. value} else { yinying1. style. display= 'none' ; }
if ( huabi[ 17 ] . className== "bon1" ) { touming1. style. display= '' ; } else { touming1. style. display= 'none' ; }
if ( poly1!= null ) {
if ( poly1. tagName== "polyline" ) { poly1. points. value= oldvalue; oldvalue= "" ; poly1= null ; } else { poly1. outerHTML= "" ; oldvalue= "" ; poly1= null ; }
}
wenzi1. style. display= 'none' ; tupian1. style. display= 'none' ; gaoji1. style. display= 'none' ; menu1. style. display= 'none'
} }
function forerr ( ) {
if ( moveobj!= null && bi== 1 ) { moveobj. style. left= xx- ckleft; moveobj. style. top= yy- cktop; ckleft= 0 ; cktop= 0 ; moveobj= null }
if ( moveobj!= null && bi== 2 ) {
if ( moveobj. tagName!= "line" ) { moveobj. style. left= ckleft; moveobj. style. top= cktop; moveobj. style. width= ckwid; moveobj. style. height= ckhei; } else { moveobj. to= ckto; }
ckleft= 0 ; cktop= 0 ; ckwid= 0 ; ckhei= 0 ; ckto= "" ; moveobj= null
}
line1. style. display= 'none' ; oval1. style. display= 'none' ; rect1. style. display= 'none' ; roundrect1. style. display= 'none' ; arc1. style. display= 'none'
}
function charuwenzi ( ) {
if ( txt1. value== "" ) return alert ( '请先输入文字,在点击插入' )
wenzibiankuang. checked== true ? thebiankuang= "border:1 solid black;" : thebiankuang= ""
var newtxt= document. createElement ( " " ) ; newtxt. innerText= txt1. value
div1. appendChild ( newtxt) ; wenzi1. style. display= 'none'
}
function charutupian ( ) {
if ( file1. value== "" ) return alert ( '请先输入图片路径(HTTP://或FILE:///)格式,在点击插入' )
if ( file1. value. indexOf ( "'" ) > - 1 ) return alert ( "图片地址不可以含有违禁字符 ' 单引号" )
str1= ""
if ( heibai. checked== true ) { str1= " grayscale='true'" } else {
if ( duibi. options[ duibi. selectedIndex] . text!= '默认对比度' ) str1= " gain='" + duibi. options[ duibi. selectedIndex] . text+ "'"
if ( secai. options[ secai. selectedIndex] . text!= '默认色彩度' ) str1= " gamma='" + secai. options[ secai. selectedIndex] . text+ "'"
if ( liangdu. options[ liangdu. selectedIndex] . text!= '默认亮度' ) str1= " blacklevel='" + liangdu. options[ liangdu. selectedIndex] . text+ "'"
}
var newtxt= document. createElement ( "+ str1+ "/>" ) ;
div1. appendChild ( newtxt) ; tupian1. style. display= 'none'
}
function document. onkeydown ( ) {
if ( event. srcElement. tagName!= 'TEXTAREA' ) {
event. ctrlKey&& event. keyCode== 90 ? chexiaock. click ( ) :
event. ctrlKey&& event. keyCode== 89 ? fanchexiaock. click ( ) :
event. ctrlKey&& event. keyCode== 38 ? fangda. click ( ) :
event. ctrlKey&& event. keyCode== 40 ? suoxiao. click ( ) :
! event. ctrlKey&& event. keyCode== 37 ? zuoyi. click ( ) :
! event. ctrlKey&& event. keyCode== 38 ? shangyi. click ( ) :
! event. ctrlKey&& event. keyCode== 39 ? youyi. click ( ) :
! event. ctrlKey&& event. keyCode== 40 ? xiayi. click ( ) :
! event. ctrlKey&& event. keyCode== 27 ? esc. click ( ) :
! event. ctrlKey&& event. keyCode== 13 ? shiyunxing. click ( ) : str1= 1
} }
SCRIPT>
< DIV onmousemove = ' this.style.display=" none" ' id = showdiv
style =" BORDER-RIGHT : green 1px solid; TABLE-LAYOUT : fixed; PADDING-RIGHT : 2px; BORDER-TOP : #cccccc 1px solid; DISPLAY : none; PADDING-LEFT : 2px; FONT-SIZE : 12px; Z-INDEX : 5000; LEFT : 0px; PADDING-BOTTOM : 2px; BORDER-LEFT : #cccccc 1px solid; PADDING-TOP : 2px; BORDER-BOTTOM : green 1px solid; WHITE-SPACE : nowrap; POSITION : absolute; TOP : 0px; BACKGROUND-COLOR : #fff7ff" > DIV>
< SCRIPT>
var oldtext= "abc" , colors1= new Array ( "#FFECD5" , "#FFF7FF" , "#FFFFEB" , "white" , "#F5FFEB" , "#EEFAFF" , "#FFFFEE" , "#EDFFFC" ) , dingshi= null
function showhelp ( thetext) {
try {
if ( thetext!= oldtext) { oldtext= thetext; showdiv. innerHTML= thetext; showdiv. style. backgroundColor= colors1[ Math. round ( Math. random ( ) * colors1. length) ] } ;
if ( event. x> document. body. offsetWidth/ 2 ) {
showdiv. style. left= event. x- ( oldtext. length* 10 ) ; showdiv. style. top= event. y+ document. body. scrollTop+ 18 ;
} else { showdiv. style. left= event. x- 3 ; showdiv. style. top= event. y+ document. body. scrollTop+ 18 ; }
showdiv. style. display= '' } catch ( e) { }
}
SCRIPT>
CENTER> CENTER> CENTER> CENTER> CENTER> BODY> HTML>