整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          帶你手寫一個輪播圖之JavaScript邏輯實現(xiàn)

          了控制篇幅,本打算分3篇文章來講述輪播圖實現(xiàn)的,后來想了想,JS代碼量其實很少,完全沒必要,所以這篇文章就是收尾。

          昨天,我們完成了結構和布局設計,今天我們來完成JavaScript邏輯部分。我這人比較有代碼潔癖,不喜歡過多的變量污染全局作用域,習慣使用自執(zhí)行的匿名函數(shù)包裹一個功能塊。我們所有的JS代碼都在如下函數(shù)內(nèi)部編寫:

          (function () {
            // ... ... 我們的代碼都寫到這兒
          })();

          我們的程序中需要用到多個DOM元素,所以我們先拿到它們的引用存儲到變量中。

          /** @type {HTMLDivElement} 輪播圖容器 */
            const carouselWrapper = document.querySelector('.carousel-wrapper')
            /** @type {HTMLUListElement} banner列表元素 */
            const slides = carouselWrapper.querySelector('.slides')
            /** @type {HTMLDivElement} 指示器 */
            const indicator = carouselWrapper.querySelector('.indicators')
            /** @type {NodeListOf<HTMLLIElement>} 指示器節(jié)點列表 */
            const indicatorItems = indicator.querySelectorAll('.indicator-item')
            /** @type {HTMLUListElement} 導航按鈕列表元素 */
            const nav = carouselWrapper.querySelector('.nav')

          接下來,我們定義一些常量和變量,建議大家定義常量名使用全大寫字母下劃線分割。

           /** 活動類名 */
            const ACTIVE_CLS_NAME = 'active'
            /** 左導航按鈕類名 */
            const CLS_NAME_NAV_LEFT = 'nav-left'
            /** 右導航按鈕類名 */
            const CLS_NAME_NAV_RIGHT = 'nav-right'
            /** 取消過渡的類名 */
            const CLS_NAME_NO_TRANSITION = 'no-transition'
            /** 定時器間隔 */
            const TIMER_DELAY = 3000
          
            /** 定時器id */
            let timerId
            /** 當前指示器索引 */
            let currentIndex = 0
            /** 當前banner索引 */
            let currentslideItemIndex = 0
            /** 過渡結束標識 */
            let transitionendFlag = true

          要做到左右滾動的無縫切換,我們必須至少拷貝banner列表中的第一和最后一個元素,將其追加到banner列表尾部,并更新banner列表的寬度。為了節(jié)省代碼,我完全拷貝了一份banner列表的子元素。我們用一個函數(shù)來做這件事,代碼如下:

          function updateSlides() {
              slides.innerHTML += slides.innerHTML
              slides.style.width = `${slides.childElementCount * 100}%`
            }

          當用戶單擊指示器項的時候,我們需要切換當前顯示的banner圖。首先需要確定被單擊指示器項的索引。我們用一個函數(shù)來實現(xiàn),代碼如下:

          function getTargetIndex(el) {
              for (let i = 0, len = indicatorItems.length; i < len; i++) {
                if (indicatorItems[i] === el) {
                  return i
                }
              }
              return -1
            }

          索引確定了,我們需要根據(jù)索引來更新X軸的平移值。當然,要實現(xiàn)左右滾動,我們還有其它實現(xiàn)方案,例如:改變可滾動元素的滾動條位置,改變元素的左右定位等。那么,為什么使用3D平移變換呢?原因之一就是,瀏覽器會對3D平移變換開啟GPU硬件加速渲染,以獲得更好的性能,直觀感受就是動畫非常絲滑,毫無拖泥帶水之感。我們用一個函數(shù)來更新X軸平移,代碼如下:

          function updateTranslateX(index, targetIndex = -1) {
              // 如果過渡沒有結束,直接返回
              if (!transitionendFlag) return
              // 當前指示器移除活動類
              indicatorItems[currentIndex].classList.remove(ACTIVE_CLS_NAME)
              // 如果沒有提供目標索引,就把index賦給它
              if (targetIndex < 0) {
                targetIndex = index
              }
              // 目標指示器添加活動類
              indicatorItems[targetIndex].classList.add(ACTIVE_CLS_NAME)
              // 將當前索引設為目標索引
              currentIndex = targetIndex
              // 將當前banner索引設為index
              currentslideItemIndex = index
              // 改變banner列表元素的X軸平移變換
              slides.style.transform = `translateX(-${index / slides.childElementCount * 100}%)`
            }

          以下是指示器單擊處理函數(shù)的實現(xiàn)。這個代碼很簡單,首先獲取目標指示器項的索引,如果找到了,就根據(jù)該索引更新banner列表的X軸平移。

          /** @param {MouseEvent} e */
            function indicatorClickHandler(e) {
              const index = getTargetIndex(e.target)
              index >= 0 && updateTranslateX(index)
            }

          接下來,我們實現(xiàn)左右導航按鈕的單擊。首先,我們需要一個向左和向右滾動的函數(shù),代碼如下:

          function toNext() {
              // 指示器項的數(shù)量
              const len = indicatorItems.length
              if (currentIndex < len) {
                if (currentIndex === len - 1) {
                  // 繼續(xù)滾動到下一個索引位置,并將目標索引設為0
                  updateTranslateX(currentIndex + 1, 0)
                } else {
                  updateTranslateX(currentIndex + 1)
                }
              } else {
                updateTranslateX(0)
              }
            }
          
            function toPrev() {
              const len = indicatorItems.length
              if (currentIndex < 1) {
                // 去掉過渡
                slides.classList.add(CLS_NAME_NO_TRANSITION)
                // 讓索引為len的banner圖可見
                updateTranslateX(len, len - 1)
                setTimeout(() => {
                  // 添加過渡
                  slides.classList.remove(CLS_NAME_NO_TRANSITION)
                  // 讓索引為len-1的banner圖可見,此時有過渡
                  updateTranslateX(len - 1)
                }, 0)
              } else {
                updateTranslateX(currentIndex - 1)
              }
            }

          以下是左右導航按鈕單擊事件處理函數(shù)的實現(xiàn)。我們根據(jù)是否包含指定的類名,來判斷單擊的哪個按鈕,進而執(zhí)行不同的導航函數(shù)。

          /** @param {MouseEvent} e */
            function navClickHandler(e) {
              /** @type {{target: HTMLElement}} */
              const { target } = e
              if (target.classList.contains(CLS_NAME_NAV_RIGHT)) {
                toNext()
              } else if (target.classList.contains(CLS_NAME_NAV_LEFT)) {
                toPrev()
              }
            }

          我們還需要監(jiān)聽banner列表的過渡開始和結束事件。過渡開始事件處理函數(shù)非常簡單,只是將過渡結束標志設為了false,代碼如下:

          function slidesTransitionstartHandler(e) {
              transitionendFlag = false
            }

          下面是過渡結束事件處理函數(shù)定義,其實也很簡單。

            function slidesTransitionendHandler(e) {
              transitionendFlag = true
              if (currentslideItemIndex >= indicatorItems.length) {
                // 取消過渡
                slides.classList.add(CLS_NAME_NO_TRANSITION)
                updateTranslateX(0)
                setTimeout(() => {
                  // 再添加回過渡
                  slides.classList.remove(CLS_NAME_NO_TRANSITION)
                }, 0)
              }
            }

          我們還需要讓輪播圖可以間隔一定時間自動切換。所以,我們需要實現(xiàn)開始和結束定時器的函數(shù)。這兩個函數(shù)非常簡單,代碼如下:

          function startTimer() {
              timerId = setInterval(toNext, TIMER_DELAY)
            }
          
            function stopTimer() {
              clearInterval(timerId)
              timerId = null
            }

          現(xiàn)在,是時候讓我們的輪播圖動起來了。我們首先調(diào)用更新banner列表函數(shù),然后開始定時器,最后注冊事件監(jiān)聽器。

            updateSlides()
            startTimer()
            // 指針進入容器的時候停止定時器
            carouselWrapper.addEventListener('mouseenter', stopTimer)
            // 指針離開容器的時候開始定時器
            carouselWrapper.addEventListener('mouseleave', startTimer)
            nav.addEventListener('click', navClickHandler)
            indicator.addEventListener("click", indicatorClickHandler)
            slides.addEventListener('transitionstart', slidesTransitionstartHandler)
            slides.addEventListener('transitionend', slidesTransitionendHandler)

          最終實現(xiàn)的效果圖如下:

          童鞋們都學廢了嗎?是不是很簡單?感謝閱讀!

          不多說,直接進入正題。

          首先,圖片輪播類的視頻該怎么做?

          如何剪輯“圖片輪播”、“卡點視頻”?詳細的制作步驟介紹 江蘇麒麟互娛

          步驟一:選擇一張素色背景,或是你心儀的背景,但你要知道這張背景的色調(diào)一定要配合接下來你的幾張輪播圖;

          步驟二:準備好你的輪播圖片(至少五張),圖片尺寸一致,記得做好修圖。不懂PS的,那就出絕招,拿手的美圖秀秀、美顏相機修圖;

          步驟三;下載并打開你的視頻剪輯工具:剪映;點擊開始創(chuàng)作;

          步驟四:選擇那種背景圖添加到項目,回到剪輯頁面,拖拉白色框至適合的視頻播放時間,15秒內(nèi);預留出兩秒的背景展示;

          步驟五:在預留兩秒的背景圖上添加文本,選擇樣式、花字、氣泡;

          步驟六:看到下面選項“畫中畫”,添加第一張輪播圖,拖動適合的播放秒數(shù):控制在1.5-2秒;依次按照此步驟添加剩下的幾張輪播圖;

          步驟七:添加文本在幾張輪播圖上,同樣選擇樣式、花字…

          步驟八:你可以嘗試播放此視頻看下效果;添加音頻,選擇熱門、合適的音樂,當然你也可以錄音;注意在你的視頻結尾處,可能還有一部分的音樂延長,你可以進行分割并刪除



          如何剪輯“圖片輪播”、“卡點視頻”?詳細的制作步驟介紹 江蘇麒麟互娛

          再來看下完整的圖片輪播的視頻,至于特效和貼紙,你可適當添加,簡單就是美。接下來,我們說說卡點視頻,快速便捷的方式制作。

          步驟一:可以選擇多張圖片或是一段或幾段視頻做卡點

          步驟二:下載并打開美冊,上面有很多抖音視頻的模板下載并提供參考使用

          步驟三:選擇你喜歡的模板,根據(jù)要求添加圖片、視頻,同樣注意每段播放時間不超過2秒,當然你可以加上一段小視頻和多張圖配合做卡點,像:武林外傳的“嫂子”+真人圖片

          步驟四:可能你選擇的卡點視頻模板會自帶卡點音樂;如果你想更換卡點音樂,可以保存已經(jīng)做好的視頻,重新到剪映中打開。

          步驟五:選擇你喜歡的卡點音樂,回到視頻剪輯,看到下面的音頻“踩點”,完成即可

          步驟六:和上面圖片輪播一樣的最后一步。

          如何剪輯“圖片輪播”、“卡點視頻”?詳細的制作步驟介紹 江蘇麒麟互娛

          好了,簡單做兩種類型的熱門視頻剪輯交給你們,嘗試操作,不懂的可以留言交流。

          金分割大家應該早就有所耳聞,作為一名設計師,可能一直感覺它離我們很遙遠。那么怎么能利用黃金分割線更加完美的構圖呢?

          說實話呢,構圖的時候是否使用黃金分割線構圖并不是絕對的,它只是方法之一。但是黃金分割比例,在全世界乃至全宇宙確實都是至高無上的。

          一、至高無上的黃金分割比例

          這種東西是很神奇的事情,你了解的越多越會絕的這是一個不可思議的事情,甚至有人稱之為上帝的密碼。那黃金分割線到底是個什么東西呢?它在什么位置?它在畫面中的什么地方?

          有一條線條,如果我們從中切一段,如果左邊是0.618這么一個比列,右邊是1這么一個比例。如果符合這樣的左右比例我們稱之為黃金分割比,那么中間切割的位置就是我們黃金分割線的位置。

          我們大體概括一下:黃金分割線是指將整體一分為二,較大部分與整體部分的比值,等于較小部分與較大部分的比值,其比值約為0.618,這個比例被公認為是最能引起美感的比例。

          總結一句話就是:0.618的比值最美。

          0.618的比例怎么來的?

          有人做了一個實驗,他們拿著一些長方形去問全世界的人,說哪個長方形最好看?

          結果所以的人都不約而同的選擇了這種長方形。西方的、東方的、土著的都選擇了如下圖的這種長方形。

          科學家們就很奇怪它到底奧秘在哪?

          要分析分析它。這個長方形如果從中間畫一條線,把它分割成倆個形狀的話,右邊可以是一個正方形,左邊小的長方形的比例和原來的長方形的比例是一摸一樣的。小的長方形也可以切割出一個正方形和一個等比例的更小的長方形,這種長方形只有黃金風格的長方形才能做到。

          二、運用黃金分割線構圖

          畫面長寬比不同,黃金分割線位置也不同,這里我們列舉常用的長寬比尺寸4:3/3:2/16:9/1:1。

          在移動端主流尺寸中,iOS尺寸使用750*1334,安卓尺寸使用1080*1920,這倆個尺寸正好等同于一倍圖375*667的比例。

          不同長寬比的畫面我們按照0.618:1的比例,一個畫面可以切割出4條黃金分割線,上分割線/下分割線/左分割線/右分割線。我們在實際構圖怎么利用黃金分割線快速排版?

          2.1 基本的運用方法

          2.1.1 把主體放線上,當然線狀的主體才能放線上

          在構圖中我們經(jīng)常遇到正方形/長方形等規(guī)則的形狀,前期我們把規(guī)則的形狀中心放在黃金分割線上,等所以內(nèi)容添加完成后再分析畫面的重量,微調(diào)來平衡畫面。

          不是所有的物體都是剛剛好放在黃金分割線上,輪廓化的形狀應該根據(jù)什么來跟黃金分割線重合呢?

          應該是形狀的重心,而不是中心。

          如上圖:長方形的圖片是有規(guī)律的形狀,我們把它的中心暫時先放在右黃金分割線上,從平衡角度來看還是右邊重,因為我們還沒有把頁面所以元素放進去,到時候可以根據(jù)畫面的平衡感來微調(diào)。

          2.1.2 多條黃金風割線構圖

          一個畫面中,可以切割成上下左右四個黃金分割線,前期練習時可以盡可能把黃金分割線利用好。

          如上圖:我們把圖片放在右黃金分割線上,正文大標題放在上黃金分割線上。這樣就搭上倆條黃金分割線了,再加上logo/分類/導航等信息整個界面就更完整了,如下圖:

          2.2 具體選擇哪一條?

          初期進行練習的時候,黃金分割線能搭上幾條就搭上幾條。這么多黃金風格線,如果我用1條到2條,到底選擇哪一條?

          2.2.1 根據(jù)元素選擇

          界面設計時,要根據(jù)元素多少進行選區(qū)更合適的黃金分割線?

          如上圖:最終所以元素都確定后,我們把圖片放右黃金分割線上,正文大標題放在上黃金分割線上,正文跟按鈕的中心放在下黃金分割線上,圖片輪播按鈕的中心放在左黃金分割線上。這樣四條黃金分割線搭上都利用起來,在這基礎之上再去微調(diào)相信畫面會更出彩的。

          2.2.2 根據(jù)那邊更精彩選擇畫面

          把上下或左右倆條黃金分割線對比一下,就能確定參考哪一條黃金分割線了。

          如上圖:我們開始把圖片放在下黃金分割線上,上面留了太多空間,圖片的內(nèi)容展示的也很少,畫面感不夠豐富。

          如上圖:根據(jù)畫面的豐富程度,我們把圖片放在靠近上黃金分割線的位置,把圖片中主體的放在靠近右黃金分割線附近。然后再添加內(nèi)容豐富畫面,我們?yōu)楫嬅嫣砑觢ogo/數(shù)據(jù)/導航/分類/按鈕,讓畫面更豐滿。如下圖:

          2.2.3 視線的影響

          人和動物的視線朝向,會影響到它的擺放位置。

          如上圖:小狗狗的視覺朝向是左邊,所以我們肯定得把小狗狗放右邊。因為它是一個不規(guī)則造型,當遇到不規(guī)則造型時我們應該嘗試找到它的重心,正好它整個形態(tài)成一條直線,它的重心應該是沿鼻子的往右的一條隱形的線。

          主體確認好后,我們在加上logo/標題/正文/導航進行排版,保證畫面平衡進行微調(diào)。如下圖:

          簡化的黃金分割線——三分線

          我們還有個困難,那就是0.618:1的黃金分割線的位置確實不是很好找。所以對于設計師來說,我們有一種簡化黃金風格線的做法?

          就是三分線。

          什么意思呢?

          左邊是黃金風格線,右邊是三分線。三分線就是均勻的把長方形的長和寬切三段,均勻的砍三段,每個方格都是一樣大小。

          三分線的位置跟黃金風格線的位置差不了多少,但是黃金風格線比起三分線更靠近中央的位置,是這么一個概念。

          如上圖:綠色的虛線是右黃金分割線的位置,黃色的虛線是右三分線的位置,我們沒有直接把主體的重心直接放在黃金分割線上,在這個畫面中,因為左右的信息量很大給人很重的壓迫感,所以主體如果太靠近左邊就會讓畫面失去平衡,這時候我們就把主體放在了三分線上。

          不要說很嚴謹?shù)陌阉匦臄[在三分線上,一來黃金風格線真實所在的位置是三分線往里靠一點的位置,二來我們說黃金風格線構圖/三分線構圖不是說讓你一定要完全重疊,大差不差就行,具體情況還是要具體分析。

          黃金風格線還不止這么多的表現(xiàn)形式,它還有一種更復雜的表現(xiàn)形式叫黃金螺旋線,而從黃金螺旋線里呢,可以推倒出一個黃金興趣點

          于是我們就把黃金螺旋線和最佳興趣點,都統(tǒng)稱為黃金分割的衍生品,在設計中應該是算比較高級的一種構圖技法了。

          三、最佳興趣點

          來看看黃金螺旋線衍生的最佳興趣點在什么位置?

          如下圖:

          在設計中實際應用的時候,想找出這個點來絕對不是很容易的事情,所以怎么辦呢?有簡單找到最佳興趣點的方法嗎?

          長方形的一條斜線鏈接起來,另一個頂點畫一條垂直于這條斜線的點基本就是最佳興趣點的位置,如下圖:

          畫面中不止一個最佳興趣點,一個畫面中會有四個興趣點,會更好的方便我們利用,如下圖:

          畫面長寬比不同,最佳興趣點的位置也不同,這里我們列舉常用的長寬比尺寸4:3/3:2/16:9/1:1,如下圖:

          案例分析

          如上圖:圖片案例來自攝影師7kidz的攝影作品,圖片質(zhì)量很高,整體風格很符合現(xiàn)在主流的抖音風,那就順便做個直播類的ui界面設計來詮釋最佳興趣點的魅力。

          案例一,同樣大小的圖片我們按照倆種方式進行擺放,左邊的圖片我們參考黃金分割線,把人物的眼睛靠近上黃金分割線的位置;右邊的圖片我們把人物的右眼放在了右上的最佳興趣點的位置。然后我們?nèi)サ糨o助線再對比下。

          如下圖:

          雖然我們參考了倆種方式進行排版,圖片本身就很精美,很多人就感覺隨便放放就好了,左邊的黃金分割線構圖單看也是很棒的,所謂沒有對比就沒有傷害,當黃金分割線遇上最佳興趣點,哪個好效果是顯而易見的。

          從畫面的飽和度跟視覺引導,顯然右邊的整體感覺更飽滿一些,加上直播平臺元素整個界面。

          如下圖:

          案例二畫面中人物前方的效果很出彩,想辦法盡可能保留,所以把人物右眼放在右上最佳興趣點的位置,正好左前方燈管不規(guī)則的物體的重心,也恰巧在左上最佳興趣點的位置,這樣就有運用了倆個最佳興趣點,畫面更加豐富起來,加上直播平臺元素整個界面。

          如下圖:

          案例三畫面中人物的睫毛放在右上最佳興趣點的位置,剛看到畫面的時候我們第一眼會被美美的胸部所吸引,但是我們眼神會順勢往右上看到美女的睫毛。是的因為我們把它放在了最佳興趣點的位置,不會因為它占的面積很小而被忽略。

          這個案例其實最具代表性,加上直播平臺元素整個界面,如下圖:

          最佳興趣點是不是和黃金分割線是重疊的?

          最佳興趣點和黃金分割線交點不重合的,黃金分割線的交叉點比最佳興趣點更靠近畫面中心。

          那是不是就是三分線的橫豎線相交處啊?

          最佳興趣點和三分線交點也不重合?

          最佳興趣點比三分線還要更外一點。

          最佳興趣點可以和黃金分割線或三分線一起使用嗎?

          答案是肯定的,一起使用會增加我們布局的多樣性,內(nèi)容可以排的更加豐富。

          如上圖:畫面中最突出的是人物的頭發(fā),我們把頭發(fā)的形成的點放在了左上最佳興趣點的位置,微調(diào)人物,在畫面中的人物重心差不多在三分線所在的這條直線上。

          標題和正好的做為一個整體的中心,放在下黃金分割線的位置上,再加上音樂封面/歌曲名/播放按鈕再微調(diào)畫面使畫面達到視覺平衡。

          如上圖:音樂專輯封面為正方面,最佳興趣點就是正方形的中心點,封面人物重心放在正方形的中心,封面放在靠近上黃金分割線的位置。大標題差不多在左上最佳興趣點的位置,整個畫面重心在左黃金分割線的位置。

          為了達到視覺平衡,右上角加了一個頭像形成大小對比,讓畫面更穩(wěn)定,不至于左邊太重而失去平衡。加上播放按鈕/推薦的封面后再調(diào)整,如下圖:

          四、黃金螺旋線

          斐波那契螺旋線也稱“黃金螺旋”,是根據(jù)斐波那契數(shù)列畫出來的螺旋曲線,自然界中存在許多斐波那契螺旋線的圖案,是自然界最完美的經(jīng)典黃金比例。

          斐波那契螺旋線,以斐波那契數(shù)為邊的正方形拼成的長方形,然后在正方形里面畫一個90度的扇形,連起來的弧線就是斐波那契螺旋線。

          斐波那契數(shù)列(FibonacciSequence)數(shù)列是這樣一個數(shù)列:

          1、1、2、3、5、8、13、21、34、55、89…

          在數(shù)學上,斐波那契數(shù)列是以遞歸的方法來定義:

          F0=1

          F1=1

          Fn=F(n-1)+F(n-2)

          (n>=2,n∈N*)

          斐波那契數(shù)列比在字號大小、界面布局、Logo設計上具體有哪些用法?

          4.1 字號大小

          4.1.1 大字體與小字體比例系統(tǒng)

          我們在選擇一個字號大小做為參考時,我們正常會選擇最大字號或最小字號做為參考。按照黃金比1:1.618可以得到比它大的字體,按照黃金比1:0.618可以得到比它小的字體。

          為了方便排版,我們除了可以使用黃金分割比例外,還可以使用斐波那契數(shù)列比。可以有更多靈活的排版方式,通過對比可以選擇最適合的。

          斐波那契數(shù)列比:1:1/1:2/1:3/2:3/1:5/2:5/3:5 …

          如上圖,我們可以根據(jù)字體的高度比來排版,這里我們大字高度:間距:小字高度比為8:5:5,可以靈活使用斐波那契數(shù)列比,多排幾個版式找到最適合的一個。

          4.1.2 文字的長度比例

          在設計字體大小的時候,可以根據(jù)字體的長度來做為參考,黃金螺旋線整體長度為140px。下面的字體比較長,我們就乘以1.618來得到比較大的比例226.52,取整數(shù)為226,我們對應長度字號取整數(shù)即可。

          4.2 界面布局

          上圖案例由UISTAR提供,整個界面的布局很舒服,字間距也恰到好處。在做后臺界面,客戶端界面時候很多時候會出現(xiàn)界面分段布局,很多時候認為后臺不是特別重要而忽略了它的美觀性。

          看下圖,我們應該怎么通過斐波那契數(shù)列比來切割畫面?

          我們通過斐波那契數(shù)列比8:5:3:2:1繪制了正方形,在后臺復雜的界面中,我們肯定要參考畫面中重要的最小寬度來確定這個比例大小。紅框框就是我們確定的最小寬度,確定寬度后8:5:3:2:1得到大小不一的方格,剩下來就是根據(jù)內(nèi)容自由組合合適的方格。

          很神奇的事情發(fā)生了,好的作品大體都符合這個規(guī)律,幾像素的偏差已經(jīng)不重要的,所以前期我們可以參考方法論,當你的能力上來之后,就可以放棄它,慢慢憑自己的感覺來判斷作品的好壞。

          4.3 LOGO設計

          黃金斐波那契螺旋法,是國際上通用的LOGO設計手法,也是最工整最嚴謹?shù)脑O計手法。

          BIGD牛大大已經(jīng)出了類似教程,具體請查看。《Ai中用黃金比例法快速作圖》

          這邊引用BIGD視頻教程是想讓知識更系統(tǒng),也省點精力擼其他的干貨。我寫了一篇《如何學習Yoga Style?》,里面有圓切法的基礎教程。

          這里說一下為什么要用黃金螺旋線去重新定義標識呢?

          打個比方:很多時候我們會找一張動物圖片用圓切法去繪制它,但是我們繪制時候因為不知道怎么去做減法,會讓這個形態(tài)變的復雜,繪制結果更多像是圖案或者圖形,而不是標識。我們使用黃金螺旋比例去切形態(tài)的時候要抓住動物的主體形態(tài)和特征,盡可能的抽象化簡單化。

          黃金螺旋線在logo中的應用

          黃金螺旋比例用圓去切割很多人已經(jīng)會了,但是最最最高級的就利用好黃金螺旋線。最近站酷很火的一個設計師DAINOGO,它的作品中就用到了黃金螺旋線,能用一個圓解決的絕對不用倆個圓。我們在設計中,如果有運用到弧線的地方,可以考慮使用黃金螺旋線做為參考。

          總結

          最后還是要感謝UISTAR、賊哥、小朋友的優(yōu)秀案例,真心感謝。

          黃金分割線、三分線、最佳興趣點,每個還可以分上下左右4個構圖方案,這里我們就已經(jīng)有12種排版方式可以考慮了。構圖的時候是否使用黃金分割線、三分線、最佳興趣點并不是絕對的,它只是方法之一。如果你有排版基礎,以這個為參考相信一定排出不錯的版式。

          黃金分割上中下就寫完了,最近跟一線大廠設計師交流,他們給我的反饋是做設計的時候不單單只是視覺上的美感,更多的需要方法論的東西,這樣才更具有說服力。

          希望以后多寫方法論的文章,大家一起學習。

          本文由 @水手哥 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

          題圖作者提供


          主站蜘蛛池模板: 精品乱子伦一区二区三区| 中文字幕一区二区区免| 在线观看一区二区三区av| 国产麻豆精品一区二区三区v视界| 日韩福利视频一区| 伊人色综合一区二区三区影院视频| 亚洲一区二区影院| 久久久精品人妻一区二区三区蜜桃| 久久国产精品一区免费下载 | 国产一区二区三区电影| 无码一区二区三区在线| 日本精品啪啪一区二区三区| 日韩精品一区二区三区中文版| 国产在线一区二区视频| 国产一区二区三区免费在线观看| 国产伦精品一区二区三区无广告| 搜日本一区二区三区免费高清视频| 日韩精品一区二区三区中文字幕 | 国产成人综合一区精品| 亚洲变态另类一区二区三区| 欧美日韩国产免费一区二区三区| 人妻夜夜爽天天爽一区| av在线亚洲欧洲日产一区二区| 无码国产亚洲日韩国精品视频一区二区三区 | 日韩AV片无码一区二区不卡| 国产一区二区在线视频播放| 精品国产不卡一区二区三区| 国产在线精品一区二区中文| 精品国产一区二区三区四区| 精品欧美一区二区在线观看 | 国产美女av在线一区| 国产精品视频一区二区三区四| 亚洲国产av一区二区三区丶| 鲁丝丝国产一区二区| 国产一在线精品一区在线观看| 男女久久久国产一区二区三区| 精品无码国产一区二区三区51安 | 精品国产一区二区三区不卡 | 日本精品夜色视频一区二区| 国产综合无码一区二区辣椒| 国产自产对白一区|