日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 auto-drawing 画一个户型图

發布時間:2023/12/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 auto-drawing 画一个户型图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用 auto-drawing 畫一個戶型圖

auto-drawing 官方文檔

基于 vue 環境

安裝

yarn add auto-drawing

代碼

room.vue

<template><div class="container"><div ref="mainElementRef" class="main"></div></div> </template><script lang="ts" setup> import { onBeforeUnmount, onMounted, reactive, ref } from 'vue' import {createCanvas,createGroup,renderCanvas,ZRenderGroup,ZRenderType,disposeCanvas,ShapeCoreType } from 'auto-drawing' import axios from 'axios'type Nullable<T> = T | nullinterface IState {zr: Nullable<ZRenderType>group: Nullable<ZRenderGroup>loading: boolean }/*** 生成圓弧* @param cx* @param cy* @param params* @returns*/ const getCircle = (cx: number,cy: number,r: number,startAngle: number,endAngle: number ) => ({type: 'arc',cx: cx,cy: cy,startAngle,endAngle,r,fill: 'none',stroke: 'green',zlevel: 1 })/*** 生成直線* @param x1* @param y1* @param x2* @param y2* @returns*/ const getLine = (x1: number,y1: number,x2: number,y2: number,stroke = '#fff' ) => ({type: 'line',x1,y1,x2,y2,stroke,fill: '#fff' })/*** 生成文字* @param x* @param y* @param text* @returns*/ const getText = (x: number, y: number, text: string) => ({type: 'text',x,y,text: text,fontSize: 6,fontWeight: 400,stroke: '#fff',fill: '#fff',zlevel: 10 })const state = reactive<IState>({ zr: null, group: null, loading: true }) const mainElementRef = ref<any>(null)const width = 670 const height = 400 const rate = 60const baseOptions = { x: 160, y: height - 40 } onMounted(() => {state.zr = createCanvas(mainElementRef.value, {width,height})state.group = createGroup(baseOptions)axios.get('https://xf-1252186245.cos.ap-chengdu.myqcloud.com/room1.json').then(res => {const data = res.data.dataconst shapeData = data.map((item: any) => {if (item['名稱'] === '直線') {const x1 = Number(item['起點X']) / rateconst y1 = -Number(item['起點Y']) / rateconst x2 = Number(item['端點X']) / rateconst y2 = -Number(item['端點Y']) / rateconst layout = item['圖層']const color: Record<string, string> = {標注: 'red','0': 'yellow',墻線: '#fff',軸線: 'green',樓梯: '#ccc',門窗: '#eee'}const stroke = color[layout] || '#fff'return getLine(x1, y1, x2, y2, stroke)}if (item['名稱'] === '圓弧') {const cx = Number(item['中心X']) / rateconst cy = -Number(item['中心Y']) / rateconst r = Number(item['半徑']) / rateconst startAngle = Number(item['起點角度'])const endAngle = startAngle + Number(item['總角度'])return getCircle(cx, cy, r, startAngle, endAngle)}if (item['名稱'] === '多行文字') {const x = Number(item['位置X']) / rateconst y = -Number(item['位置Y']) / rateconst text = item['內容']return getText(x, y, text)}return {}}) as ShapeCoreType[]const filterShapeData = shapeData.filter(item => item.type)renderCanvas(state.zr as ZRenderType,state.group as ZRenderGroup,filterShapeData,{translate: true,scale: true})state.loading = false}) })onBeforeUnmount(() => {disposeCanvas(state.zr as ZRenderType) }) </script><style scoped> .container {padding: 40px;background: #000;box-sizing: border-box;overflow: hidden; } </style>

效果

https://l-x-f.github.io/auto-drawing-doc/example/example.html#%E6%88%B7%E5%9E%8B%E5%9B%BE-2

官方文檔

官方文檔 https://l-x-f.github.io/auto-drawing-doc/

總結

以上是生活随笔為你收集整理的使用 auto-drawing 画一个户型图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日操网站 | 一区二区三区在线免费播放 | 一区二区免费播放 | 亚洲一区二区自偷自拍 | 老妇女玩小男生毛片 | 日韩在线视频不卡 | 欧美日韩国产精品综合 | 都市激情国产精品 | 公侵犯一区二区三区四区中文字幕 | 激情久久久久 | 丰满熟妇肥白一区二区在线 | 黄色精品| 福利国产在线 | 精品亚洲成人 | 黄色av网址在线观看 | 国产一二三区免费视频 | 天美麻花果冻视频大全英文版 | 人人九九 | 新呦u视频一区二区 | 特级毛片av | 134vcc影院免费观看 | 欧洲美女粗暴牲交免费观看 | 91直接进入 | 深夜精品视频 | 最近免费中文字幕 | 成av在线 | 夜夜导航 | 9191国产精品 | 午夜视频成人 | 91视频三区| 国产精品入口麻豆九色 | 免费涩涩视频 | 午夜影院一区二区三区 | 黄色网战入口 | 一道本在线观看视频 | 国产精品麻豆成人av电影艾秋 | 国产成人精品一区二 | 欧美三级小视频 | 成年人毛片 | 国产精品日日摸天天碰 | 欧美人在线 | 午夜精产品一区二区在线观看的 | 国产一在线观看 | 女性向小h片资源在线观看 日本天天操 | 日本wwwxxx | 国产黄色特级片 | 福利片在线看 | 夜色一区 | 午夜天堂视频 | 国产又爽又猛又粗的视频a片 | 日本欧美亚洲 | av网站在线免费看 | 色啊色| av电影在线观看不卡 | 熟女俱乐部一区二区 | 国产视频日韩 | 激情五月婷婷综合网 | 美女自拍视频 | 美女免费黄视频 | 鲁一鲁av | 风流少妇一区二区三区91 | 日本一区二区三区免费在线观看 | 亚洲天堂一区二区三区四区 | 亚洲妇女无套内射精 | 美女黄色一级视频 | 久久婷婷亚洲 | 久久精品天堂 | 欧美日韩中文字幕视频 | 国产精品久久久久久亚洲 | 精品成人中文无码专区 | 中文字幕在线一区二区三区 | 播播成人网 | 免费一级网站 | 国产精久 | 午夜福利视频一区二区 | se在线观看| 免费在线精品视频 | 欧美揉bbbbb揉bbbbb | 国产精一区 | 欧美尹人 | 中文字幕精品国产 | 奇米影视久久 | 欧美乱大交xxxxx春色视频 | 国产自产视频 | 国产又黄又猛又粗又爽 | jizz国产精品| 日韩中文欧美 | 国语av在线| 亚洲欧美婷婷 | 看特级毛片| 亚洲激情一区二区三区 | 在线看av网址 | 久久在线观看 | 国产精品成人免费视频 | 无套在线观看 | 日韩一区免费观看 | 亚洲精品一区二区三区在线 | 精品熟妇无码av免费久久 | 亚洲av综合色区无码一二三区 |