摘要:無(wú)需任何第三方依賴(lài),輕型工具庫(kù)。繪制海報(bào),生成帶的二維碼。默認(rèn)重新編輯最終圖片壓縮比,默認(rèn)基礎(chǔ)類(lèi)型參數(shù)表示一個(gè)圖片部分。之間表示一個(gè)二維碼部分參數(shù)類(lèi)型描述指定為二維碼類(lèi)型要繪制的內(nèi)容。通過(guò)控制邊框顏色,默認(rèn)為默認(rèn)為容錯(cuò)等級(jí)。
canvas_x
無(wú)需任何第三方依賴(lài),輕型工具庫(kù)。
canvas繪制海報(bào),生成帶logo的二維碼。也可生成編輯界面,用戶(hù)自定義輸入,一鍵生成等等
默認(rèn)開(kāi)啟圖片跨域,但服務(wù)端的圖片也需要后端進(jìn)行相應(yīng)的跨域設(shè)置。項(xiàng)目地址
https://github.com/sayll/canvas_x使用方法 npm 下載使用
npm i -S @sayll/canvas_x // js 片段 import canvas_x from "@sayll/canvas_x" // TODO canvas_x.makeImage({...})直接引用
可直接通過(guò)script標(biāo)簽引入lib/canvas_x.js,也可當(dāng)?shù)谌侥K引入。
通過(guò)script引入,可通過(guò)全局變量canvas_x直接使用。詳情可見(jiàn)demo。接口
函數(shù) | 描述 |
---|---|
makeImage(options, ...) | 繪制一個(gè)圖片 |
renderEditor(container, options, callback) | 創(chuàng)建編輯節(jié)點(diǎn)DOM |
高階合成圖片
可以接受三個(gè)類(lèi)型:圖片,文字,二維碼
參數(shù) | 類(lèi)型 | 描述 |
---|---|---|
options | object | MakeImageOptions(詳情請(qǐng)見(jiàn),核心配置項(xiàng)) |
callback | function | 回調(diào)參數(shù):(error?: string, data?: string) => void |
生成編輯界面
可以接受三個(gè)類(lèi)型:圖片,文字,二維碼
參數(shù) | 類(lèi)型 | 描述 |
---|---|---|
container | HTMLElement | 一個(gè)容器元素節(jié)點(diǎn) |
options | object | MakeImageOptions(詳情請(qǐng)見(jiàn),核心配置項(xiàng) |
callback | function | 回調(diào)參數(shù):(base64: string) => void |
繪圖核心配置項(xiàng)
參數(shù) | 類(lèi)型 | 描述 |
---|---|---|
parts | array | 各組成部分(ImageEntry , TextEntry , QRCodeEntry): 詳細(xì)見(jiàn)基礎(chǔ)類(lèi)型參數(shù) |
width | number | 最終圖片寬度,建議為顯示容器的二倍 |
height | number | 最終圖片高度,建議為顯示容器的二倍 |
background | string | 畫(huà)布底色 |
buttonText | string | 編輯模式下,繪制畫(huà)布按鈕文案:null時(shí),隱藏按鈕。默認(rèn):"繪制畫(huà)布" |
resetButtonText | string | 編輯模式下,重新編輯按鈕文案:為空或null時(shí),隱藏按鈕。默認(rèn):"重新編輯" |
compress | number | 最終圖片壓縮比,默認(rèn)0.8 |
表示一個(gè)圖片部分。
參數(shù) | 類(lèi)型 | 描述 |
---|---|---|
type | string | 指定為圖片類(lèi)型:"image" |
url | string | 要繪制的圖片地址,可以是 http: 或 data: 格式 |
radius | number | 半徑率,0-1之間 |
padding | number | 內(nèi)邊距。通過(guò)background控制邊框顏色,默認(rèn)為"#fff" |
background | string | 默認(rèn)為"#fff" |
width | number | 繪制的寬度 |
height | number | 繪制的高度 |
editable | boolean | 能否編輯,編輯模式下使用 |
selectImage | function | 如需替換自己的資源為替換圖片,可使用此參數(shù); 參數(shù)返回一個(gè) callback 接受你替換的圖片 (base64或url) 注:當(dāng) editable 設(shè)置為 true 時(shí),selectImage 將阻止默認(rèn) input[type=file]選取圖片的默認(rèn)行為 |
x | number | 相對(duì)于左上角的水平坐標(biāo) |
y | number | 相對(duì)于左上角的垂直坐標(biāo) |
opacity | number | 透明度。0-1 之間 |
clipOptions | object | 詳細(xì)見(jiàn)ClipOptions參數(shù) |
圖片剪切所需參數(shù)
參數(shù) | 類(lèi)型 | 描述 |
---|---|---|
x | number | 相對(duì)于左上角的水平坐標(biāo) |
y | number | 相對(duì)于左上角的垂直坐標(biāo) |
zoom | boolean | 等比縮放圖片 |
align | string | 目前只支持"center";圖片正中間; |
表示一個(gè)文本部分。
參數(shù) | 類(lèi)型 | 描述 |
---|---|---|
type | string | 指定為文本類(lèi)型:"text" |
text | string | 要繪制的內(nèi)容。使用 n 換行 |
size | string | 字體大小 |
color | string | 字體顏色 |
bold | boolean | 是否加粗 |
textAlign | string | 文本對(duì)齊方式,"center"、"left"、"right",根據(jù)基準(zhǔn)點(diǎn)(x,y)水平對(duì)齊。默認(rèn):"left" |
lineAlign | string | 文本對(duì)齊方式,"top"、"middle"、"bottom",根據(jù)基準(zhǔn)點(diǎn)(x,y)垂直對(duì)齊。默認(rèn):"top" |
editable | boolean | 能否編輯,編輯模式下使用 |
x | number | 相對(duì)于左上角的水平坐標(biāo) |
y | number | 相對(duì)于左上角的垂直坐標(biāo) |
opacity | number | 透明度。0-1 之間 |
表示一個(gè)二維碼部分
參數(shù) | 類(lèi)型 | 描述 |
---|---|---|
type | string | 指定為二維碼類(lèi)型:"qrcode" |
text | string | 要繪制的內(nèi)容。網(wǎng)址需要使用 http: 開(kāi)頭 |
padding | number | 內(nèi)邊距。通過(guò)background控制邊框顏色,默認(rèn)為"#fff" |
background | string | 默認(rèn)為"#fff" |
level | number | 容錯(cuò)等級(jí)。1-5,數(shù)值越大容錯(cuò)越高 |
logo | string | 二維碼logo的地址,可以是 http: 或 data: 格式 |
width | number | 繪制的寬度 |
height | number | 繪制的高度 |
x | number | 相對(duì)于左上角的水平坐標(biāo) |
y | number | 相對(duì)于左上角的垂直坐標(biāo) |
opacity | number | 透明度。0-1 之間 |
npm run | note |
---|---|
build | 打包文件 |
build:dev | 監(jiān)聽(tīng)修改 |
browse | 啟動(dòng)server |
start | start 整個(gè)項(xiàng)目server服務(wù) |
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90740.html
摘要:項(xiàng)目需求寫(xiě)完有一段時(shí)間了,但是還是想回過(guò)來(lái)總結(jié)一下,一是對(duì)項(xiàng)目的回顧優(yōu)化等,二是對(duì)坑的地方做個(gè)記錄,避免以后遇到類(lèi)似的問(wèn)題。需求利用微信強(qiáng)大的社交能力通過(guò)小程序達(dá)到裂變的目的,拉取新用戶(hù)。摘要: 小程序開(kāi)發(fā)必備技能啊... 原文:小程序如何生成海報(bào)分享朋友圈 作者:小白 Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。 項(xiàng)目需求寫(xiě)完有一段時(shí)間了,但是還是想回過(guò)來(lái)總結(jié)一下,一是對(duì)項(xiàng)目的回顧優(yōu)...
摘要:項(xiàng)目需求寫(xiě)完有一段時(shí)間了,但是還是想回過(guò)來(lái)總結(jié)一下,一是對(duì)項(xiàng)目的回顧優(yōu)化等,二是對(duì)坑的地方做個(gè)記錄,避免以后遇到類(lèi)似的問(wèn)題。需求利用微信強(qiáng)大的社交能力通過(guò)小程序達(dá)到裂變的目的,拉取新用戶(hù)。 項(xiàng)目需求寫(xiě)完有一段時(shí)間了,但是還是想回過(guò)來(lái)總結(jié)一下,一是對(duì)項(xiàng)目的回顧優(yōu)化等,二是對(duì)坑的地方做個(gè)記錄,避免以后遇到類(lèi)似的問(wèn)題。 需求 利用微信強(qiáng)大的社交能力通過(guò)小程序達(dá)到裂變的目的,拉取新用戶(hù)。生成的...
摘要:解析進(jìn)到首頁(yè)其實(shí)關(guān)鍵字在本地就隨機(jī)取完了,在首頁(yè)中的方法中就通過(guò)緩存了要畫(huà)的元素,比如關(guān)鍵字這里是圖片關(guān)鍵字解析語(yǔ)也是圖片畢竟微信小程序的不支持字體等等。 一、Canvas應(yīng)用的背景(個(gè)人理解)及基礎(chǔ)語(yǔ)法 背景 從2012年開(kāi)始,微信那個(gè)時(shí)候用戶(hù)的積累的量已經(jīng)非常大了,推出公眾號(hào),當(dāng)然大屏智能手機(jī)在那個(gè)時(shí)候也流行,傳統(tǒng)的大眾媒體逐步消亡,像微信公眾號(hào)這樣的新媒體盛行。企業(yè)的廣告投入開(kāi)始...
vue-canvas-poster vue 組件-簡(jiǎn)單屬性畫(huà) Canvas 圖github 概述 一個(gè)通過(guò) css 屬性畫(huà) canvas 圖片的輕量級(jí)的 vue 組件(A lightweight vue components use canvas draw image by css properties.) 具有如下特性: 繪制文本(換行、超出內(nèi)容省略號(hào)、中劃線(xiàn)、下劃線(xiàn)、文本加粗) 繪制圖片(圓...
閱讀 4179·2021-11-22 13:52
閱讀 2509·2021-11-22 13:52
閱讀 3683·2021-11-19 09:59
閱讀 1185·2021-11-17 09:33
閱讀 2447·2019-08-30 10:53
閱讀 1220·2019-08-29 17:28
閱讀 1310·2019-08-29 17:03
閱讀 3099·2019-08-26 11:31