当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript CSS画图之基础篇

Javascript
代码生成器 document.write()
不错的文字特效,逐字变色效果
javascript下用键盘控制层的移动的代码
有提示确定与取消功能的弹出式窗的代码
js下弹出窗口的变通
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
用JAVASCRIPT如何给<textarea></textarea>赋值
将光标定位到textarea的某一行的javascript代码
把textarea中字符串里含有的回车换行替换成<br>的javascript代码
让textarea控件的滚动条怎是位与最下方
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
在textarea中屏蔽js的某个function的javascript代码
textarea的value是html文件源代码,存成html文件的代码
在textarea中显示html页面的javascript代码
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
如何做到打开一个页面,过几分钟自动转到另一页面
JS 建立对象的方法
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
JS Timing
用javascript实现图片马赛克后显示并切换

Javascript 中的 javascript CSS画图之基础篇


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 421 ::
收藏到网摘: n/a

要在浏览器上动态地画图(矢量图),个人觉得矢量图中最关键的两点. 一、图显示的样式,即图形的颜色、透明度等;二、算法,即图形的样子,是简单的线、矩形、圆形、扇形、多边形等,javascript和CSS无疑是最佳搭档,所有的矢量图形最基本的元素是1*1px的点,点可以成线、成面,成任意图形。
一切矢量图的根本____1*1px的点
如果对CSS有一定的了解,对 clip:rect(top,right,bottom,left)熟悉的话,可以知道,代码剪辑出一个区域,需要注意的是,clip:rect中的四个边的位置是相对于对象的而不是相对于窗口的,另外在此position必须为absolute。
<div style="position:absolute;width:1px;height:1px;background-color:red; clip:rect(0,1,1,0);"></div>可以画出一个红色的点
算法能成图的根本____在特定位置画点
通过css的 left和top,在特定一个位置画图,将算法实现成可见图形的根源可以解决,如下这段代码可以在(100,100)的坐标位置画一个1*1px的红点
<div style="position:absolute;left:100px;top:100px;width:1px;height:1px;background-color:red; clip:rect(0,1,1,0);"></div>
成为有生产力代码的根本___抽象、精简
(如果只是上面一行代码,着实没有什么好研究的,相反如果把最根本的能很好的抽象出来,就大不一样了),
上面的一行代码其实可以抽象成,在特定坐标点上(x,y),画一个高度为h,宽度为w的区域,并且画笔的颜色为color,为了更方便利用,可以精炼成如下方法:
复制代码 代码如下:

function _mkDiv(x, y, w, h,color)
{
'<div style="position:absolute;'+
'left:' + x + 'px;'+
'top:' + y + 'px;'+
'width:' + w + 'px;'+
'height:' + h + 'px;'+
'clip:rect(0,'+w+'px,'+h+'px,0);'+
'background-color:' + color +
';"><\/div>';
}