本文參考 阮一峰老師《骰子作畫的演算法》
1計算灰度值方法
/* 任何顏色都由紅、綠、藍三基色組成,假如原來某點的顏色為rgb(r,g,b),那麼,我們可以通過下面幾種方法,將其轉換為灰度:
1.浮點演算法:gray=r*0.3+g*0.59+b*0.11
2.整數方法:gray=(r*30+g*59+b*11)/100
3.移位方法:gray =(r*77+g*151+b*28)>>8;
4.平均值法:gray=(r+g+b)/3;
5.僅取綠色:gray=g;*/
2.骰子作畫演算法
1.第一步,將分割成16畫素x16畫素的小方塊。 (分割的方塊越小 ,模擬圖生成的效果越好)
2. 計算小方塊內的每乙個畫素點 將每個畫素點的灰度值存入陣列
3. 計算每乙個小方塊陣列額灰度值的平均值 並用1~6之間的乙個整數來表示
4. 用骰子繪製
var canvas = document.createelement('canvas'); // 將分好的塊繪製在畫布上顯示處來
var context = canvas.getcontext('2d');
var poixl = ;
// 獲取的原始尺寸
//切割小方塊的邊長
注意:本文是使用js完成 ,在使用getimagedata方法獲取畫素的時候可能會遇到源的問題 ,只需要將和js**放在同一伺服器下或者放在可以跨越訪問的伺服器上,我用了hbuilder的內建web伺服器避免了源汙染的問題 。
骰子作畫的演算法
程式設計師scott macdonald做了乙個很有趣的專案 骰子作畫。他用黑底白點的骰子。模擬出一張人像 把影象放大,就可以看得更清楚。他一共用了2500多顆骰子。最後的成品就是這樣。任何一張都可以用骰子模擬出來,演算法非常簡單 將分成若干個區域,每個區域經過計算以後,用1 6之間的乙個整數表示,...
骰子作畫的演算法
程式設計師scott macdonald做了乙個很有趣的專案 骰子作畫。他用黑底白點的骰子。具體來說,第一步,將分割成16畫素x16畫素的小方塊。for int i 0 i pic width 16 i 整數1,表示骰子朝上的一面有1個白點 整數2,表示有2個白點 以此類推。白點越少,表示這個區域越...
Python實現骰子作畫演算法
在看到阮一峰的網路日誌中 骰子作畫的演算法 時,不經對其產生了濃厚的興趣,聯想到之前瀏覽到的程式設計師個性 注釋,發現裡面很多的注釋都可以用骰子作畫的 實現輸出,於是自己用python寫了乙份 翠花兒,上 from pil import image if name main img image.op...