成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

canvas繪制海報(bào)+二維碼,滿(mǎn)足絕大部分場(chǎng)景

bluesky / 3210人閱讀

摘要:無(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
makeImage

高階合成圖片

可以接受三個(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
renderEditor

生成編輯界面

可以接受三個(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
MakeImageOptions

繪圖核心配置項(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
基礎(chǔ)類(lèi)型參數(shù) ImageEntry

表示一個(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ù)
ClipOptions

圖片剪切所需參數(shù)

參數(shù) 類(lèi)型 描述
x number 相對(duì)于左上角的水平坐標(biāo)
y number 相對(duì)于左上角的垂直坐標(biāo)
zoom boolean 等比縮放圖片
align string 目前只支持"center";圖片正中間;
TextEntry

表示一個(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 之間
QRCodeEntry

表示一個(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 之間
開(kāi)發(fā)命令

    <
    npm run
    閱讀需要支付1元查看