UI設計基礎知識和JavaScript

來源:互聯網
上載者:User

標籤:類型   賦值運算   二次   自身   對齊   不用   選項   動作   習慣   

【PS基礎案例】

人物修圖。調整畫布大小,建立3個圖層,並列放到畫布中,用修補工具修掉中間的人物,再用橡皮章蓋掉邊緣的人物,然後扣出人物,放上新的藍天,用橡皮擦調整透明度,擦掉水天交接的地方,然後調整色階,最後點第三個圖層,編輯,內容識別比例,把腿部拉長,然後用濾鏡,液化,修飾臉型。

森林光線。選擇,色彩範圍,高光,建立圖層,複製,徑向模糊,如果光感不強則繼續建立複製,滿意後合并圖層調整色階,還可以調整光的位置,通過橡皮擦擦掉不自然的光線。

表情包。鋼筆和橢圓工具的綜合運用,ctrl+r開啟尺規,用尺規比著畫。GIF。

各種蒙版,邁克爾。先弄一個人影,然後依次開啟圖片,建立剪下蒙版,然後通過漸層進行調整,最後加上文字。蒙版一共有4種,直接建立蒙版,通過黑白灰影響畫面顏色的明暗對比,建立剪下蒙版,如邁克爾的那個例子,在通道中建立蒙版,用來扣對比比較明顯的有頭髮絲的人物,在左下角還有個按鈕,以快速蒙版方式編輯,可以對所選地區做一些邊緣的處理。

透視原理,變形金剛。通過扭曲變形形成立體感,複製多個圖層,擦掉下部,然後開啟另一個圖層,通過濾鏡素描畫,形成素描效果,擦掉擋住手的部分,然後開啟另一個圖層,通過圖層效果的顏色疊加,疊加成灰色,然後拖動位置,形成陰影,擦掉多餘部分。

光束的製作。複製一個黑色背景,然後建立一個圖層,開啟漸層色選擇第二個,兩頭都選白色,按住shitf橫向拉到頭,然後ctrl+t,拉到畫圖的一半,然後複製圖層,選擇水平反轉,調整位置形成光束,然後合并圖層,ctrl+t上下拉長,透視,上面左右兩個角拉到中間。

通道扣圖,通道,選擇對比明顯的顏色,然後複製圖層進行編輯,映像調整反相,調整色階增加對比,然後用前景色彩為白色的畫筆,塗掉黑色部分,然後將通道作為選擇載入,之後回到圖層直接建立蒙版。

頭髮變成樹林。先扣圖,頭髮可以簡略扣,然後刪除多餘部分,選擇通道,選擇對比明顯的顏色,複製圖層,調整色階,ctrl左鍵點擊圖層的小圖案建立選區,回到原來圖層,建立蒙版,然後把另一個圖片開啟,調整大小,放好位置後建立剪下蒙版,調整橡皮透明度擦掉多餘部分。

老虎人。不考慮頭髮扣出人臉,選擇,調整邊緣,調整智能半徑,選擇,儲存選區,然後開啟老虎,扣出面部,選擇,調整邊緣,重複剛才操作,但不是選區,而是建立圖層,老虎拖到人臉上,然後CTRL+t進行調整,讓其對齊,選擇人物,點圖層通道路徑右邊的按鈕,複製圖層,下面的一欄選擇建立,然後在建立出的人物種進行模糊,高斯模糊,然後儲存,回到老虎,複製兩個,點通道,ctrl左鍵點剛才儲存的圖,回到一個老虎,建立蒙版,用前景色彩為黑色的畫筆擦掉眼睛和嘴巴,然後選擇另一個老虎,建立蒙版,ctrl+I變為黑色,然後用前景色彩為白色的畫筆擦掉鬍子邊緣,然後複製一個人物,調到最上方,選擇柔光。

動作。視窗,動作,建立新動作。

下雪。先開啟動作。開啟圖片,建立圖層,填充為黑色,濾鏡,像素化,點狀化,儲存格的大小決定雪花的大小,圖象,調整,閾值,閾值的大小決定雪花的速度,濾鏡,模糊,動感模糊,決定間距和方向。最後選擇濾色。

普通圖,72解析度,RGB。列印的話,CMYK,300解析度。


【AI應用】

圖層上畫圖自動產生小分組,可以直接設定顏色和描邊。
要建立剪下蒙版的話和PS不同,要把畫的形狀放在上面,原圖放在下面,然後直接點一個圖片,SHITF點另一個,點擊右鍵,創立剪下蒙版,是在圖片上直接點,不是點右邊圖層的小框。

字型效果。打字,對象,擴充,可以分解為好多小點,可以通過拖動來改變字型。然後複製一個,再畫一個圓,擋住字型的一部分,然後右鍵圓,置於底層,複製幾個圓。然後右鍵字,取消編組,分別選擇一個字SHIFT圓,然後從視窗開啟路徑尋找器,選擇交集,然後拖動到原字型上,可以改變顏色和透明度來達到預期的效果。

圓角直線。視窗,描邊,圓頭端點。

地球小圖案。建立,800*600畫布,開啟圖片,建立3個圖層,畫矩形,800*600,把背景蓋住,把圖片拖上來,在圖層3上建橢圓128*128,填充無,描邊黑,6pt,再建106*106,倆圓選中,水平置中對齊,然後選擇裡面的小圓,用剪刀工具把它分割成幾塊,然後選擇不要的刪掉,然後視窗描邊圓頭端點,再建橢圓180*60,搭在一起,然後全選,旋轉,然後畫直線,用剪刀切割,最後再畫3個圓,兩個淡黃色一個橘黃色,然後把一個淡黃和橘黃通過路徑尋找器減去頂層,把小月牙和圓分別疊加上去,然後置於底層。最後通過矩形圓形工具畫出小圖案。另一個圖,下面的藍梯形,可以先畫矩形,然後拉成梯形,最後用直接選擇工具上面轉換後面的圓弧,慢慢調整。其他的同第一個。


【平面設計】


排版基礎。排版設計的四元素,背景,主體,文字,裝飾。
基本類型。骨骼型(網頁設計),中心型,滿版型,上下分割型,左右分割型,中軸型(電商排版),曲線型,傾斜型,對稱型,重心型,三角型,共置型,自由型,四角型

前期練習一定要注意留白問題!!
按文字流向規律,使用者閱讀習慣從上到下,從左至右。
明確主題標題,通過顏色,粗細,字型大小,色塊。
注意行距和間距。
裝飾框的運用,讓文案有裝飾性。
文案過少的情況下通過外文來湊。
排版不要太過一致,讓重點醒目。
文案與背景要分明。


所有印刷品都要留3mm出血,解析度都是300.
企業VI。
VI設計一般包括基礎部分和應用兩大部分內容。
logo。表象性,表徵性,借喻性,標識性,卡通化,幾何形構成,漸層推移。
名片標準尺寸。90*54,90*50,90*45。但是加上出血上下左右各2,所以製作尺寸必須設定為94*58,94*54,94*48。色彩模式為CMYK,影像檔300dpi以上。


【項目流程】

成立項目組,專案經理牽頭組建團隊,專案經理做計劃表,開項目啟動會,互動設計師做原型稿,UI設計人員豐富,H5開發。

網頁設計分類。功能型網頁設計(B/S軟體使用者端),形象型網頁設計(品牌形象站),資訊型網頁設計(門戶站)。
網頁設計經曆以下幾個階段。根據消費者的需求,市場的狀況,企業自身的情況等進行綜合分析,從而建立起營銷模型。以營運目標為中心進行功能策劃,製作出欄目結構關係圖。以滿足使用者體驗設計為目標。以網頁精美化設計為目標,調整,使用合理的顏色,字型,圖片,樣式進行頁面設計美化,根據使用者反饋,進行頁面設計調整,以達到最優效果。

針對客戶需求需要注意的幾點。
建設網站的目的。欄目規劃及每個欄目的表現形式和功能要求。網站主體色調,客戶性別喜好,連絡方式,舊版網址,偏好網址。根據行業和客戶要求,那些要著重表現。是否分期建設,考慮後期的相容性。客戶是否有強烈建設網站的慾望。網站類型。

企業站主體色彩搭配最好不要超過3種。可以適當點綴。
先把內容充實上,再分區塊,再定色調,再處理細節。
全域考慮,把能填的都填上,佔位置,然後定基調,分模組設計,最後調整不滿意的局部細節。
總結,網頁設計應簡潔明了,從使用者體驗出發。

網頁,必須是72解析度。
目前通用的頁面大小為1000px(現在最好做1200px),畫布大小可以自訂(1400,1440不等,最大1920)。
最上面標準頭,最下面標準尾是硬性要求。頭下面一般是廣告,再下面是內容區。
內容區需求不明確的話,排關於我們。產品。新聞動態。
一般三張廣告圖,需求不明確的情況下,就可以是企業介紹,產品案例,企業文化或社會責任。

內容區。通欄,可以鋪滿畫布,但內容不能超過頁面大小。兩欄,版塊與版塊的空隙最少20px,可以等分也可以不等分。三欄四欄最好等分。

網頁本文一律採用宋體12號字(現在基本都用微軟雅黑,選擇無),微軟雅黑和黑體,主要是用作標題。
建議使用12+14號的混合搭配。
英文字型從10px開始能清晰使用,選擇空間很大,10px,11px,12,13都是常見的字型大小,字型使用系統內建字型,例如Arial。
價格文字,cc0000,重要文字cc6600,常規文字333333,次級文字666666.

注意:頁面小標題有點擊效果的最右邊要留空間,點擊效果地區不要超出範圍。

 

 

 [使用JS的三種方式]

1、 在HTML標籤中,直接內嵌JS(並不提倡使用):
<button onclick="alert(‘小婊砸!你真點啊!‘)">有本事點我呀!</button>
>>> 不符合W3C關於內容與行為分離的要求!!!

2、在HTML頁面中,使用<script></script>包裹JS代碼:
<script type="text/javascript">
// JS代碼
</script>
>>> Script標籤可以放到頁面的任何位置。

3、引入外部的JS檔案:
<script language="JavaScript" src="js/01.js"></script>

[注意事項]
① <script></script>可以嵌入到頁面的任意位置。但是,位置的不同會導致JS代碼的執行順序不同;
比如: <script></script> 放到<body>前面,則JS代碼會在頁面載入之前就執行;

② 引入外部的JS代碼,<script></script>必須是成對出現的標籤。而且,標籤中不能再有任何的JS代碼。

<script type="text/javascript">

JS中的多行注釋。 Ctrl+shift+/

// JS中的單行注釋。 Ctrl+/
//document.write("<h1 style=‘color:red;‘>薑浩真帥!!</h1>");

【JS中的變數】
1、JS中變數聲明的寫法:
var num = 10; // 使用var聲明的變數,屬於局部變數,只在當前範圍內有效;
num = 10; // 不用var聲明的變數,預設為全域變數,在整個JS檔案中都有效;
var x=8,y,z=10; // 使用一行語句,同時聲明多個變數。 上式中,y屬於已聲明,但是未賦值狀態, 結果為undefined;

[聲明變數的注意事項]
① JS中所有變數的聲明,均使用var關鍵字。 變數具體是什麼資料類型,取決於給變數賦值的類型;

② JS中同一個變數,可以在多次不同賦值時,修改變數的資料類型;
var a = 10; // 從初始聲明是,a屬於整數型;
a = "haha"; // 重複賦值時,整數型的a被修改為字串類型;

③ 變數可以使用var聲明,也可以不使用var聲明。
[區別] 使用var聲明為局部變數,不使用var聲明為全域變數;

④ 只用var聲明,但是不賦值。 結果為undefined;
例如: var a; // a為undefined。
但是,如果不聲明也不賦值的a,直接使用會報錯;

⑤ 同一變數名,可以多次使用var聲明。 但是,後面的var並沒有任何卵用。 第二次在使用var聲明時,只會被理解為普通的賦值操作。

2、 變數名的命名要求:
① 變數名,只能有字母、數字、底線組成;
② 開頭不能是數字;
③ 變數名區分大小寫,大寫字母與小寫字母為不同變數;

3、 變數名的命名規範:
① 要符合小駝峰法則(駱駝命名法):
首字母小寫,之後每個單詞的首字母大寫;
myNameIsJiangHao √
② 或者使用匈牙利命名法:
所有字母小寫,單詞之間用_分隔;
my_name_is_jiang_hao √
③ mynameisjianghao × 能用,但是不規範。

4、 JS中的資料類型:>>>>>>重點!!!!!!
Undefined: 未定義。 已經使用var聲明的變數,但是沒有賦值。 var a;
Null: 表示空的引用。
Boolean: 布爾類型。表示真假,只有兩個值: true/flase
Number: 數實值型別。可以是正數,也可以是小數;
String: 字串類型。用""或‘‘包裹的內容,稱為字串;
Object: 物件類型,後續講解。。。

5、 【常用的數值函數】
① isNaN():判斷一個變數或常量,是否是NaN(not a num 非數值);
使用isNaN()判斷時,會嘗試使用Number()函數進行轉換,如果最終結果能夠轉為數字,則不是NaN,結果為false。

② Number()函數: 將其他類型的資料,嘗試轉為數值型;
[字串類型]
>>> 字串為純數值字串,會轉為對應的數字; "111"->111
>>> 字串為空白字串,會轉為0; ""->0
>>> 字串包含任何其他字元時,都不能轉; "1a"->NaN
[Boolean類型]
true->1 false->0
[Null/Undefined]
Null->0 Undefined->NaN
[Object]

③ ParseInt(): 將字串轉為整數類型;
>>> 純數值字串,能轉。
"12"->12; "12.9"->12(小數轉化時,直接抹掉小數點,不進行四捨五入)
>>> Null 字元串,不能轉。 ""->NaN
>>> 包含其他字元的字串 ,會截取第一個非數值字串前的數字部分;
"123a456"->123; "a123b456"->NaN
>>> ParseInt()只能轉字串,轉其他類型,全是NaN。

[Number函數與ParseInt函數的區別] >>>>>>重點!!!!!!!
1. Number函數可以轉各種資料類型,ParseInt函數只能轉字串;
2. 兩者在轉字串時,結果不完全相同。(詳見上面解釋)

④ ParseFloat:將字串轉為數值型;
轉換規則與ParseInt相同,只是如果有小數,則保留小數點;如果沒有小數,則依然是整數;
"12.5" -> 12.5; "12"->12

⑤ typeof: 檢測變數的資料類型:
字串->String 數值->Number true/false->Boolean
未定義->Undefined 對象/NUll->object 函數->function
//var num = 11;
//alert(typeof(num));

 

 

 [JS中常用的輸入輸入語句]

 1. document.write(); 將()中的內容,列印輸出到留言器螢幕上;

 使用時需注意:除變數/常量外的所有內容,必須放到""中。變數和常量必須放到""外面;
 如果同時又變數和字串,必須用+連結;
 eg: document.write("左手中的紙牌"+left+"<br/>");

 2. alert(); 使用彈窗輸出;
 彈窗警告,()中的內容與上述要求相同。

 3. promt(); 彈窗輸入;
 接受兩部分參數:
 ① 輸入框上面的提示內容,可選;
 ② 輸入框裡面的預設資訊,可選;
當唯寫一部分時,表示輸入框上面的提示內容;

 可以定義變數,接收輸入的內容。 點擊確定按鈕,變數將被賦值為輸入的內容; 點擊取消按鈕,變數將被賦值為null;

 輸入內容時,預設接收的資料類型都是字串!!!!!

 

【JS中的運算子】

1、算術運算(單目運算子)
+ 加、- 減、* 乘、 / 除、 % 取餘、++ 自增、-- 自減

+:有兩種作用,連結字串/加法運算。當+兩邊全為數字時,進行加法運算,
當+兩邊有任意一邊為字串時,起連結字串的作用,連結之後的結果為字串。
>>>>其他運算子都會自動轉化成數字進行運算,如果轉化不了則為NaN;
/:結果會保留小數點。

【a++和++a的異同】
① 相同點:無論a++還是++a,運算完以後,a的值均會+1;
② 不同點:a++,先用a的值去運算,再把a+1;
++a,先把a+1,再用a+1以後的值去運算。


2、賦值運算
= 賦值 += -= *= /= %=

+=:a+=b;相當於 a=a+b;但是,前者的運算效率要比後者快,所以
推薦使用+=的寫法;


3、關係運算
== 等於、 === 全等、 != 不等、!== 不全等、>、<、>=、<=

>>> 關係運算子,運算之後的結果,只能是Boolean類型;
>>> 判斷一個數字是否處於某個區間,必須用&&連結;
a<10 && a>0 √ 10>a>0 X
>>> ===:嚴格等於;要求不但要類型相同,值也必須相同;類型不同,
結果直接為false;類型相同,再進行下一步判斷;
==:等於;類型相同,與===效果一樣。類型不同時,會先嘗試
將兩邊轉為數字,然後再進行判斷。
但是,有個別特例,如:Null==false X Null==Undefined √

4、條件運算子(多目運算)
a>b?true:false

有兩個重要符號:?和:
當?前面部分,運算結果為true時,執行:前面的代碼;
當?前面部分,運算結果為false時,執行:後面的代碼;

冒號兩邊可以為數值,則整個式子可用於賦值。
冒號兩邊可以直接為代碼塊,將直接執行代碼。
多目運算子可以多層嵌套。


5、位元運算符、 邏輯運算子
&& 與、|| 或、! 非
&& 兩邊都成立,結果為true。
|| 兩邊有任意一邊成立,結果為true。

6、運算子的優先順序
() 小括弧最高
! ++ -- 單目運算子
* / %
+ -
> < >= <=
== !=
&& //與和或同時存在時,與比或高
||
= += -= *= /= 最低的是各種賦值

 

【JS中的分支結構】

【if-else結構】
 1、結構的寫法:
 if(判斷條件){
//條件為true時,執行if的{}
}else{
//條件為false時,執行else的{}
}
2、注意事項:
① else{}語句塊。可以根據情況進行省略。
② if和else後面的{}可以省略,但是省略{}後,if和else後面
只能跟一條語句(所以,並不建議省略{});

3、 if的()中的判斷條件,支援的情況:重點!!!!
① Boolean:true為真,false為假。
② String:Null 字元串為假,所有非Null 字元串為真;
③ Number:0為假,一切非0數字為真;
④ Null/Undefined/NaN:全為假。
⑤ Object:全為真。

【多重if、階梯if結構】
 1、結構寫法:
 if(條件一){
 // 條件一成立,執行的操作
}else if(條件二){
 // 條件一不成立,並且條件二成立,執行的操作
 }else{
 // 上述所有條件都不成立時,執行的操作
 }

 2、多重if結構中,各個判斷條件是互斥的,只能選擇其中
 一條路執行,遇到正確選項並執行完以後,直接跳出結構,
 不再判斷後續分支;

【嵌套if結構】
 1、結構的寫法:
 if(條件一){
 //條件一成立
 if(條件二){
 //條件一成立並且條件二成立
 }else{
 //條件一成立並且條件二不成立
 }
 }else{
 //條件一不成立
 }

 2、在嵌套if結構中,如果省略{},則else結構永遠屬於
 離他最近的一個if結構。

 3、嵌套結構可以多層嵌套,但是一般不推薦超過3層。
 能用多重if結構的一般不推薦使用嵌套if。

UI設計基礎知識和JavaScript

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.