<h1>Scratch中的顏色問題</h1><h3>Scratch的顏色是HSV格式,跟RGB不一樣的,我們在顏色設(shè)置代碼輸入的值,會被轉(zhuǎn)換成HSV格式。</h3> <h3 style="text-align: center; ">============HSV============</h3> <h3>HSV即色相、飽和度、明度(英語:Hue, Saturation, Value),又稱HSB,其中B即英語:Brightness。</h3> <h3>1.色相(H)是色彩的基本屬性,就是平常所說的顏色名稱,如紅色、黃色等。</h3><h3>2.飽和度(S)是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數(shù)值。</h3><h3>3.明度(V),亮度(L),取0-100%。</h3> <h3>============HSV============</h3> <h3>但是這個格式讓我們很困擾,在做一些繪圖程序的時候就不知道怎么辦,原始的辦法是慢慢摸索有沒有。</h3><h3><br /></h3> <h3>這樣可以大概看到顏色對應(yīng)的值。</h3><h3>然而本質(zhì)是什么?</h3><h3>本質(zhì)在Scratch源碼util包的Color.as里面</h3> <h3>看,這都是2009年的代碼了,能更新下嗎,不過也難為官方了,畢竟這樣的話小孩子更容易理解吧,更何況還提供了顏色選擇器的功能(對于畫筆)</h3> <h3>可惜現(xiàn)在時間嚴(yán)重不夠用,不然真的可以自己增加一個rgb的模塊,造福世人,哦不,造福諸多一線老師。</h3> <h3>設(shè)定畫筆顏色對應(yīng)這段代碼</h3> <h3>可以看到不同的代碼塊選擇顏色和輸入值對應(yīng)的代碼段</h3> <h3>內(nèi)部調(diào)用了setPenHue,我們來看setPenHue</h3> <h3>因?yàn)檫x擇顏色的時候?qū)嶋H上是選擇的rgb所以要轉(zhuǎn)換成hsv,然而我們輸入數(shù)字則不同,你看到我們輸入的顏色值</h3> <h1>先模200,然后如果是負(fù)值還要加上200</h1><h3><br /></h3> <h3>下面這個就比較復(fù)雜了</h3> <h3>實(shí)際上選擇框哪里得到的就是rgb的值,不過是選擇得到的</h3><h3>而數(shù)字輸入的值擇要經(jīng)過模200如果負(fù)數(shù)還要加200的操作。</h3><h3>然后得到的penHue的值,還要經(jīng)過復(fù)雜的換算,從hsv轉(zhuǎn)換成rgb,這是何苦啊。。。。</h3><h3>然后。。。。接著分析就會得到最終的畫筆顏色<span style="color: rgb(237, 35, 8);">penColorCache</span>好麻煩。</h3> <h3>根據(jù)陰影penshade的值來得到正確的顏色,還是挺麻煩的。</h3><h3>我們要做的就是根據(jù)rgb顏色倒推回去,太麻煩了。。。放棄了。。。。</h3><h3>最后推薦一本新書,但愿能對大家有所幫助。</h3><h3><br /></h3>
苏尼特右旗|
尼勒克县|
成安县|
金山区|
久治县|
房山区|
宜川县|
贺兰县|
吉安市|
沁水县|
环江|
开封市|
扬州市|
宁晋县|
平潭县|
清水河县|
永顺县|
石景山区|
昌乐县|
长阳|
财经|
延寿县|
江门市|
永仁县|
金平|
皮山县|
陇南市|
雅江县|
靖远县|
房产|
资阳市|
清镇市|
原阳县|
民县|
东台市|
泽州县|
怀化市|
四子王旗|
南川市|
乌拉特前旗|
疏附县|