HiShop首頁 > 網(wǎng)上商城系統(tǒng) > 商城建設(shè) > 2023年微信小程序save/restore(保存和恢復繪圖上下文)

2023年微信小程序save/restore(保存和恢復繪圖上下文)

時間:2024-10-27 03:32:37 |閱讀量:

微信小程序的繪圖接口和方法是非常重要的,其中最常用的之一便是canvasContext.save和canvasContext.restore。這兩個API可以很好地保存和恢復繪圖上下文,方便在同一個畫布中實現(xiàn)不同的繪圖效果。

使用canvasContext.save與canvasContext.restore


在繪制的過程中,我們經(jīng)常需要臨時改變樣式屬性。例如,在繪制一個圖形時,我們可能需要改變填充顏色或者改變邊框線寬。如果我們直接去更改全局的繪圖屬性,那么所有后面繪制的圖形都會受到影響,這顯然不是我們想要的。

這時,我們就可以使用canvasContext.save方法來保存當前的繪圖上下文狀態(tài)。然后在修改樣式屬性后繪制所需的圖形,并通過canvasContext.restore方法還原之前保存的繪圖狀態(tài)。

具體用法

  1. 保存繪圖上下文狀態(tài)

  2. 調(diào)用canvasContext.save方法可以把當前繪圖上下文狀態(tài)壓入一個棧中。該方法不會對任何繪圖操作產(chǎn)生影響,只是簡單地把當前的狀態(tài)存儲起來。

    const ctx = wx.createCanvasContext('myCanvas')
    
    // save the default fill style
    ctx.save() 
    ctx.setFillStyle('red')
    ctx.fillRect(10, 10, 150, 100)
    
  3. 恢復繪圖上下文狀態(tài)

  4. 一旦我們完成了修改樣式屬性并繪制出所需的圖形,就可以通過調(diào)用canvasContext.restore方法還原之前保存的繪圖上下文狀態(tài)。這會彈出棧頂部的狀態(tài),并把它還原到當前的繪圖上下文中。

    // restore to the previous saved state
    ctx.restore()
    ctx.fillRect(50, 50, 150, 100)
    
    ctx.draw()

使用canvasContext.save與canvasContext.restore方法可以很好地實現(xiàn)繪制不同風格、顏色和大小的對象。同時,因為這兩個方法操作簡單方便,非常適合在微信小程序中使用。

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

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

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

  • 跨境電商解決方案

    支持直郵/保稅模式

    對接海關(guān)/保稅倉

    支持多國國際語言

    對接Paypal國際支付

    幫助跨境外貿(mào)企業(yè)搭建跨境進口/出口電商平臺,搶占國際電商市場,針對企業(yè)需求定制個性化跨境電商解決方案
    了解跨境方案
  • 分賬解決方案

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

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

    節(jié)約平臺財務(wù)成本

    降低平臺招商成本

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

    多級階梯批發(fā)價

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

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

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

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

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

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