HiShop首頁(yè) > 網(wǎng)上商城系統(tǒng) > 商城建設(shè) > 2023年微信小程序API 繪圖closePath(關(guān)閉一個(gè)路徑)

2023年微信小程序API 繪圖closePath(關(guān)閉一個(gè)路徑)

時(shí)間:2024-10-25 21:23:43 |閱讀量:

使用微信小程序的繪圖API可以實(shí)現(xiàn)各種復(fù)雜的圖形和動(dòng)畫效果。其中,canvasContext.closePath()是一個(gè)非常重要的方法,下面將對(duì)其進(jìn)行詳細(xì)介紹。

1. 關(guān)閉路徑可以連接起點(diǎn)和終點(diǎn)

當(dāng)我們使用moveTo()創(chuàng)建繪圖路徑時(shí),需要用lineTo()等方法來(lái)連接各個(gè)點(diǎn)。最后調(diào)用closePath()方法,即可自動(dòng)連接起點(diǎn)和終點(diǎn)。這樣一來(lái),我們就不用費(fèi)神去算出終點(diǎn)的坐標(biāo)了。此外,在繪制復(fù)雜的圖形時(shí),通過關(guān)閉路徑,也可以更方便地控制每個(gè)子路徑的起始和結(jié)束位置。

2. 關(guān)閉路徑之后需要及時(shí)調(diào)用fill或stroke方法

在調(diào)用closePath()方法之后,必須及時(shí)調(diào)用fill()或者stroke()方法才能生效。如果沒有及時(shí)調(diào)用,之前的路徑將不會(huì)被渲染。這點(diǎn)需要特別注意,否則可能導(dǎo)致繪圖出現(xiàn)意想不到的錯(cuò)誤。

3. 路徑可以分開繪制,但需要注意順序

閉合路徑并不是必須的,如果想要分開繪制幾個(gè)路徑,可以在繪制一個(gè)路徑之后調(diào)用closePath()方法,再開始繪制下一個(gè)路徑。但要注意順序,否則可能會(huì)出現(xiàn)重疊的情況。例如,在上一個(gè)路徑?jīng)]有填充或描邊的時(shí)候,不能開啟下一個(gè)路徑。

4. 示例

const ctx = wx.createCanvasContext('myCanvas')
ctx.moveTo(10, 10)
ctx.lineTo(100, 10)
ctx.lineTo(100, 100)
ctx.closePath()
ctx.stroke()
ctx.draw()

以上代碼創(chuàng)建了一個(gè)三角形,并使用closePath()將起點(diǎn)和終點(diǎn)相連,最后調(diào)用stroke()方法描邊并渲染出來(lái)。

const ctx = wx.createCanvasContext('myCanvas')
// begin path
ctx.rect(10, 10, 100, 30)
ctx.closePath()

// begin another path
ctx.beginPath()
ctx.rect(10, 40, 100, 30)

// only fill this rect, not in current path
ctx.setFillStyle('blue')
ctx.fillRect(10, 70, 100, 30)

ctx.rect(10, 100, 100, 30)

// it will fill current path
ctx.setFillStyle('red')
ctx.fill()
ctx.draw()

以上代碼分別繪制了三個(gè)矩形。第一個(gè)矩形使用rect()方法創(chuàng)建路徑并關(guān)閉,不需要填充或描邊。接著使用beginPath()創(chuàng)建新的路徑,繪制第二個(gè)矩形并通過setFillStyle()方法設(shè)置填充色。調(diào)用fillRect()方法渲染出來(lái)。最后,又繪制了一個(gè)矩形,并調(diào)用fill()方法填充整個(gè)路徑。

<本文由himall原創(chuàng),商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)標(biāo)明:himall原創(chuàng)>

多用戶商城系統(tǒng)解決方案

滿足不同行業(yè)發(fā)展電商的需求,HiMall更有針對(duì)性的提供不同行業(yè)內(nèi)的電商解決方案

  • 跨境電商解決方案

    支持直郵/保稅模式

    對(duì)接海關(guān)/保稅倉(cāng)

    支持多國(guó)國(guó)際語(yǔ)言

    對(duì)接Paypal國(guó)際支付

    幫助跨境外貿(mào)企業(yè)搭建跨境進(jìn)口/出口電商平臺(tái),搶占國(guó)際電商市場(chǎng),針對(duì)企業(yè)需求定制個(gè)性化跨境電商解決方案
    了解跨境方案
  • 分賬解決方案

    迎合金融監(jiān)管要求

    規(guī)避“二清”結(jié)算

    節(jié)約平臺(tái)財(cái)務(wù)成本

    降低平臺(tái)招商成本

    在合法、合規(guī)的前提下,為電商平臺(tái)提供資金收付、賬戶管理、資金合規(guī)等一體化整體解決方案
    了解分賬方案
  • B2B批發(fā)解決方案

    多級(jí)階梯批發(fā)價(jià)

    布局全渠道批發(fā)入口

    專屬批發(fā)訂貨市場(chǎng)

    銀聯(lián)B2B大額支付

    為企業(yè)快速搭建綜合性B2B批發(fā)電商平臺(tái),整合線下批發(fā)資源,拓展線上批發(fā)渠道,實(shí)現(xiàn)批發(fā)業(yè)務(wù)24小時(shí)在線經(jīng)營(yíng)
    了解B2B方案
更多電商解決方案>
|2024-10-25猜你喜歡

【本站聲明】 1、本網(wǎng)站發(fā)布的該篇文章,目的在于分享電商知識(shí)及傳遞、交流相關(guān)電商信息,以便您學(xué)習(xí)或了解電商知識(shí),請(qǐng)您不要用于其他用途;
2、該篇文章中所涉及的商標(biāo)、標(biāo)識(shí)的商品/服務(wù)并非來(lái)源于本網(wǎng)站,更非本網(wǎng)站提供,與本網(wǎng)站無(wú)關(guān),系他人的商品或服務(wù),本網(wǎng)站對(duì)于該類商標(biāo)、標(biāo)識(shí)不擁有任何權(quán)利;
3、本網(wǎng)站不對(duì)該篇文章中所涉及的商標(biāo)、標(biāo)識(shí)的商品/服務(wù)作任何明示或暗示的保證或擔(dān)保;
4、本網(wǎng)站不對(duì)文章中所涉及的內(nèi)容真實(shí)性、準(zhǔn)確性、可靠性負(fù)責(zé),僅系客觀性描述,如您需要了解該類商品/服務(wù)詳細(xì)的資訊,請(qǐng)您直接與該類商品/服務(wù)的提供者聯(lián)系。

電話咨詢 微信咨詢 0元開店