uniapp中使用leaferui使用Canvas繪制復雜異形表格的實現方法

需求:

如下圖,要實現左圖的樣式,先實現框架,文字到時候 往里填就行了,原來的解決方案是想用css,html來實現,發現實現起來蠻麻煩的。我也沒找到合適的實現方法,最后換使用canvas來實現,使用的js庫是leaferui

1.安裝:用game是因為有一些交互,反正體積也不大

npm install leafer-game

2.wxml

    <canvas:style="'width:'+cabox.width+'px;height:'+cabox.height+'px;'"id="leafer"type="2d":width="cabox.width":height="cabox.height"catchtouchstart="receiveEvent"catchtouchmove="receiveEvent"catchtouchend="receiveEvent"catchtouchcancel="receiveEvent"></canvas>

3.javascript

  lf = new Leafer({view: window, width: that.cabox.width, height: that.cabox.height})lf.add(Rect.one(0,0,that.cabox.width,that.cabox.height));lf.add(Rect.one({width: that.cabox.width, height: that.cabox.height, strokeWidth: 2, stroke: "black",}));lf.add(Rect.one({strokeWidth: 2,stroke: "black",width: (that.cabox.perBox * 11.5),height: (that.cabox.perBox * 11.5),x: that.cabox.perBox * 1.75,y: that.cabox.perBox * 1.75}));lf.add(Rect.one({strokeWidth: 2,stroke: "black",width: (that.cabox.perBox * 9),height: (that.cabox.perBox * 9),x: that.cabox.perBox * 3,y: that.cabox.perBox * 3}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [0, 0, that.cabox.perBox * 3, that.cabox.perBox * 3]}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [that.cabox.width, 0, that.cabox.perBox * 12, that.cabox.perBox * 3]}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [that.cabox.width, that.cabox.height, that.cabox.perBox * 12, that.cabox.perBox * 12]}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [0, that.cabox.height, that.cabox.perBox * 3, that.cabox.perBox * 12]}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [that.cabox.perBox*6, 0, that.cabox.perBox*6, that.cabox.height]}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [that.cabox.perBox*9, 0, that.cabox.perBox*9, that.cabox.height]}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [0, that.cabox.perBox*6, that.cabox.width, that.cabox.perBox*6]}));lf.add(Line.one({stroke: "black",strokeWidth: 2,points: [0, that.cabox.perBox*9, that.cabox.width, that.cabox.perBox*9]}));

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72004.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72004.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72004.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大模型與呼叫中心融合:未來發展的潛力何在?

大模型與呼叫中心的結合&#xff0c;為企業帶來了前所未有的發展機遇。通過提升服務效率、優化營銷效果、降低運營成本、增強數據管理與分析能力、提升客戶體驗以及推動行業創新與變革&#xff0c;大模型呼叫中心正在重塑客戶服務與營銷的未來。 大模型與呼叫中心的結合具有巨…

vue3+ts+uniapp+unibest 微信小程序(第二篇)—— 圖文詳解自定義背景圖頁面布局、普通頁面布局、分頁表單頁面布局

文章目錄 簡介一、自定義背景圖布局1.1 效果預覽1.2 實現思路1.3 custom-page 組件全量代碼1.4 頁面使用 二、普通頁面布局2.1 效果預覽2.2 實現思路2.3 公共樣式部分2.4 頁面使用 三、分頁表單頁面布局3.1 效果預覽3.2 實現思路3.3 頁面代碼 簡介 開發工具&#xff1a;VsCode…

華為交換機堆疊方法

堆疊配置&#xff1a; 先把接口shutdown 第一臺&#xff1a; int stack-port 0/1 port interface XGigabitEthernet0/0/3 enable y qu int stack-port 0/2 port interface XGigabitEthernet0/0/4 enable y qu stack slot 0 priority 200 y 第二臺&#xff1a; int stack…

AI革命下的多元生態:DeepSeek、ChatGPT、XAI、文心一言與通義千問的行業滲透與場景重構

前言 人工智能技術的爆發式發展催生了多樣化的AI模型生態&#xff0c;從通用對話到垂直領域應用&#xff0c;從數據挖掘到創意生成&#xff0c;各模型憑借其獨特的技術優勢與場景適配性&#xff0c;正在重塑全球產業格局。本文將以DeepSeek、ChatGPT、XAI&#xff08;可解釋人…

nginx 配置https

參考文檔&#xff1a;nginx 文檔 -- nginx官網|nginx下載安裝|nginx配置|nginx教程 配置 HTTPS 服務器 HTTPS 服務器優化 SSL 證書鏈 單個 HTTP/HTTPS 服務器 基于名稱的 HTTPS 服務器 具有多個名稱 的 SSL 證書 服務器名稱指示 兼容性 要配置 HTTPS 服務器&#xff0c;ssl…

python-leetcode-乘積最大子數組

152. 乘積最大子數組 - 力扣&#xff08;LeetCode&#xff09; class Solution:def maxProduct(self, nums: List[int]) -> int:if not nums:return 0max_prod nums[0]min_prod nums[0]result nums[0]for i in range(1, len(nums)):if nums[i] < 0:max_prod, min_prod…

前端或者后端通常用到數組使用方式

第一個是:Array.from() 將具有length屬性或者可迭代的對象轉化為數組 Array.from(abcdef) // 返回值[a1, b1, c1, d1, e1, f1] Array.from(new Map([[b1, 1 ], [a1, 2 ]])) Array.from(new Set([ 1 , 2 , 3 ])) 第二個是:Array.reduce() 遍歷數組,將函數的返回值,存儲到累加器中…

最大子數組和力扣--53

目錄 題目 思路 代碼 題目 給你一個整數數組 nums &#xff0c;請你找出一個具有最大和的連續子數組&#xff08;子數組最少包含一個元素&#xff09;&#xff0c;返回其最大和。 子數組是數組中的一個連續部分。 示例 1&#xff1a; 輸入&#xff1a;nums [-2,1,-3,4,-1…

JavaScript 深淺拷貝全面解析

在 JavaScript 中&#xff0c;深淺拷貝是處理對象復制的重要概念。它們的核心區別在于對 引用類型數據 的處理方式&#xff0c;理解這一點對避免程序中的意外數據污染至關重要。 一、核心概念解析 1. 基本類型 vs 引用類型 基本類型&#xff1a;Number, String, Boolean, null…

【大模型】大模型推理能力深度剖析:從通用模型到專業優化

大模型推理能力深度剖析&#xff1a;從通用模型到專業優化 大模型推理能力深度剖析&#xff1a;從通用模型到專業優化一、通用語言模型與推理模型的區別&#xff08;一&#xff09;通用語言模型&#xff1a;多任務的“萬金油”&#xff08;二&#xff09;推理模型&#xff1a;復…

RISC-V架構的平臺級中斷控制器(PLIC:platform-level interrupt controller)詳解

英文縮寫 英文縮寫中文含義PLICplatform-level interrupt controller&#xff0c;平臺級中斷控制器SMTsimultaneous multi-threading&#xff0c;并發多線程HARTRISC-V架構中的硬件線程SMTsimultaneous multi-threading&#xff0c;多線程執行M-MODEmachine mode&#xff0c;機…

[Web 安全] PHP 反序列化漏洞 —— PHP 序列化 反序列化

關注這個專欄的其他相關筆記&#xff1a;[Web 安全] 反序列化漏洞 - 學習筆記-CSDN博客 0x01&#xff1a;PHP 序列化 — Serialize 序列化就是將對象的狀態信息轉化為可以存儲或傳輸的形式的過程&#xff0c;在 PHP 中&#xff0c;通常使用 serialize() 函數來完成序列化的操作…

航空裝配自動化神器Ethercat轉profient網關搭配機器人精準控制

生產管理系統通過網關與裝配機器人連接&#xff0c;加快航空器機身的裝配速度&#xff0c;減少人為誤差。 航空制造對裝配線的精度和效率有著極高的要求。某航空制造廠使用的耐達訊Profinet轉EtherCAT協議網關NY-PN-ECATM&#xff0c;將其生產管理系統與裝配機器人連接&#xf…

什么是MySql的主從復制(主從同步)?

主頁還有其他面試題總結&#xff0c;有需要的可以去看一下&#xff0c;喜歡的就留個三連再走吧~ 1.什么是MySql的主從復制原理&#xff1f; 主從復制的核心就是二進制binlog&#xff08;DDL&#xff08;數據定義語言&#xff09;語句和DML&#xff08;數據操縱語言&#xff09…

自然語言處理:初識自然語言處理

介紹 大家好&#xff0c;博主又來給大家分享知識了。從這次開始&#xff0c;博主給大家分享自然語言處理這個領域的內容。這也是博主非常感興趣的研究領域。 最開始&#xff0c;博主計劃在自然語言處理系列的第一篇博文中&#xff0c;和大家聊聊文本規范化這個話題。畢竟在自…

【保姆級視頻教程(二)】YOLOv12訓練數據集構建:標簽格式轉換-劃分-YAML 配置 避坑指南 | 小白也能輕松玩轉目標檢測!

【2025全站首發】YOLOv12訓練數據集構建&#xff1a;標簽格式轉換-劃分-YAML 配置 避坑指南 | 小白也能輕松玩轉目標檢測&#xff01; 文章目錄 1. 數據集準備1.1 標簽格式轉換1.2 數據集劃分1.3 yaml配置文件創建 2. 訓練驗證 1. 數據集準備 示例數據集下載鏈接&#xff1a;P…

【人工智能】藍耘智算平臺盛大發布DeepSeek滿血版:開創AI推理體驗新紀元

&#x1f4dd;個人主頁&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的關注 &#x1f339;&#x1f339; ? 藍耘智算平臺 藍耘智算平臺核心技術與突破元生代推理引擎快速入門&#xff1a;三步調用大模型接口&#xff0c;OpenAI SDK無縫兼容實戰用例文…

【網絡編程】幾個常用命令:ping / netstat / xargs / pidof / watch

ping&#xff1a;檢測網絡聯通 1. ping 的基本功能2. ping 的工作原理3. ping 的常見用法4. ping 的輸出解釋5. ping 的應用場景6. 注意事項 netstat&#xff1a;查看網絡狀態 1. netstat 的基本功能2. 常見用法3. 示例4. 輸出字段解釋5. netstat 的替代工具6. 注意事項 xargs&…

【C++】:STL詳解 —— list類

目錄 list的概念 list的構造函數 list的大小 size() resize() empty() list的插入 push_front()和emplace_front() push_back()和emplace_back() insert()和emplace() list的刪除 pop_front() pop_back() erase() remove() remove_if() unique() clear()…

【數據結構】(11) Map 和 Set

一、Map 和 Set 的簡介 1、Set 和 Map Map 和 Set 是集合類框架學習的最后一部分。Map 和 Set 都是接口&#xff0c;需要通過 TreeSet、HashSet 和 TreeMap、HashMap 實例化。注意&#xff0c;Set 實現了 Collection&#xff0c;Map 并沒有。 Set 存放的是鍵&#xff08;Key&a…