javascript CSS畫圖之基礎(chǔ)篇
更新時間:2009年07月29日 02:30:21 作者:
要在瀏覽器上動態(tài)地畫圖(矢量圖),個人覺得矢量圖中最關(guān)鍵的兩點.
一、圖顯示的樣式,即圖形的顏色、透明度等;二、算法,即圖形的樣子,是簡單的線、矩形、圓形、扇形、多邊形等,javascript和CSS無疑是最佳搭檔,所有的矢量圖形最基本的元素是1*1px的點,點可以成線、成面,成任意圖形。
一切矢量圖的根本____1*1px的點
如果對CSS有一定的了解,對 clip:rect(top,right,bottom,left)熟悉的話,可以知道,代碼剪輯出一個區(qū)域,需要注意的是,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,在特定一個位置畫圖,將算法實現(xiàn)成可見圖形的根源可以解決,如下這段代碼可以在(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>
成為有生產(chǎn)力代碼的根本___抽象、精簡
(如果只是上面一行代碼,著實沒有什么好研究的,相反如果把最根本的能很好的抽象出來,就大不一樣了),
上面的一行代碼其實可以抽象成,在特定坐標點上(x,y),畫一個高度為h,寬度為w的區(qū)域,并且畫筆的顏色為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>';
}
一切矢量圖的根本____1*1px的點
如果對CSS有一定的了解,對 clip:rect(top,right,bottom,left)熟悉的話,可以知道,代碼剪輯出一個區(qū)域,需要注意的是,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,在特定一個位置畫圖,將算法實現(xiàn)成可見圖形的根源可以解決,如下這段代碼可以在(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>
成為有生產(chǎn)力代碼的根本___抽象、精簡
(如果只是上面一行代碼,著實沒有什么好研究的,相反如果把最根本的能很好的抽象出來,就大不一樣了),
上面的一行代碼其實可以抽象成,在特定坐標點上(x,y),畫一個高度為h,寬度為w的區(qū)域,并且畫筆的顏色為color,為了更方便利用,可以精煉成如下方法:
復(fù)制代碼 代碼如下:
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>';
}
相關(guān)文章
微信小程序 JS動態(tài)修改樣式的實現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于微信小程序JS動態(tài)修改樣式的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
JavaScript?canvas?實現(xiàn)用代碼畫畫
這篇文章主要為大家介紹了JavaScript?canvas?實現(xiàn)用代碼畫畫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11

