小程序canvas繪制漸變色(簡單入門)


呀,曾經的我是那么的單純,天真,粗略的翻了一遍小程序畫布API,沒有看見漸變色,就以為不支持漸變色

於是在項目中直接把原本的漸變色換成了單一顏色展示,發現很low啊

但是,自從上次小程序API文檔更新了以后,我突然看見了設置漸變色的api,以為是小程序開竅了,決定支持漸變色的使用了

哎呀,於是就去測試,但是尷尬的發現沒有例子並不會食用,就只能去萬能的社區百度了唄

emmm這一百度才發現,原理漸變色早就有了嗎!(原來單純的只是我眼瞎)

好吧,然后跟着社區前輩的經驗一點一點摸索,也算是大概知道這東西該怎么使用了

下面說步驟:

1.  創建繪圖上下文(就無恥的借用官方的啦)

var ctx = wx.createCanvasContext('firstCanvas')

2.  創建漸變色(重點來了)

let grd = ctx.createLinearGradient(0, 200, 0, 260)

  這里解釋一下:createLinearGradient()繪制的漸變色的起始坐標並不是畫布的原點...而是你想要填充的起點坐標

  觀眾:請說人話!謝謝

  說的通俗一點,就是你想要在畫布的那一塊區域使用這個漸變色,那么那塊區域的其中一個頂點,就是你繪制漸變色的起點(終點)

  比如說下面的案例:

    grd.addColorStop(0, 'rgba(255, 255, 255, 0)')
    grd.addColorStop(1, 'rgba(0, 255, 0, 0.2)')

    ctx.setFillStyle(grd)
    ctx.fillRect(0, 200, 260, 60)
    ctx.draw()

  addColorStop()就先不說了,看下面的fillRect()是創建一個矩形區域,那么很明顯我的漸變色是要用在這個區域里面的

  那么漸變色的起點(終點)就很明顯了,這里我是將起點設置在(0,200)這個位置,剛好就是矩形區域的左上角頂點,

  終點是(0,260),是矩形區域的左下頂點,那么展示的效果大概就是這樣子了:

  

  一個從上到下的漸變色,就這樣實現了(鼓掌,鼓掌!)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM