Excel2016打印預覽表格的教程是什么(excel2016怎么看打印預覽)">Excel2016打印預覽表格的教程是什么(excel2016怎么看打印預覽)
1501
2022-05-30
先看效果:
項目介紹:
整個頁面是一個vue項目中的組件,使用的主要庫是fabricjs? 官網為http://fabricjs.com/?是一個操作canva和svg的庫
文檔為英文的.
后臺系統是nodejs+express 涉及到上傳圖片 session mongodb
用戶表 圖庫表 設計表,
前端上傳組件時ivew的
Upload
后端使用的是
multer
可以說麻雀雖小,五臟俱全 前后端分離,使用mongodb數據庫 圖片上傳到文件夾內
實現的效果:
整個頁面包含的功能點有
1:上傳圖片 可旋轉,擴大,縮小,刪除,拖動
2:選取圖片導入 批量上傳,可以上傳到自己的圖庫
3:保存拼圖 導出我的設計,生成縮略圖,可以導入以前的數據
4:導入我的拼圖
5:改變背景 可以使用背景圖片,也可以使用顏色
遇到的問題:
雙擊刪除的功能,獲取當前事件的對象并獲取在整體中的索引,刪除.
canva無法生成png圖片 報錯
第一個問題是 如此解決的
this.fabricCvs.on('mouse:dblclick', (e) => {
this.fabricCvs.remove(
this.fabricCvs.item(
this.fabricCvs.getObjects().indexOf(e.target)
)
)
})
remove: 刪除一個對象 參數為數組的索引
item:獲取一個對象在數組中的索引
第二個問題是 由于canvas上對于引入的圖片有跨域的限制,不能轉化外域的圖片數據
解決辦法是在引入圖片的時候 設置
crossOrigin: 'anonymous'
fabric.Image.fromURL(selectedArr[i].imgUrl, (oImg) => {
oImg.scale(0.5)//圖片縮小10倍
this.fabricCvs.add(oImg)
}, {crossOrigin: 'anonymous'})
主要用的api:
remove item getObjects
Image.fromURL 更加url生成一個圖片對象
add 添加對象
getSelectionContext 獲取選中內容
clear 清空內容
setBackgroundColor 設置背景顏色 背景圖
renderAll 重新渲染
toDataURL 轉化成base64
loadFromJSON 轉化為json
學到的東西:
圖片批量上傳,
multer包的使用
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './public/upload')
},
filename: function (req, file, cb) {
var str = file.originalname.split('.')
cb(null, Date.now() + '.' + str[1])
}
})
var upload = multer({storage: storage})
// 上傳圖片到圖片倉庫并返回上傳的圖片路徑
router.post('/uploadImgs', upload.array('file', 20), function (req, res, next) {
var arr = []
for (var i in req.files) {
arr.push(global.SERVICEADDRESS + '' + req.files[i].filename)
}
res.json({
code: 200,
data: arr
})
})
mongodb對于數組的批量插入操作
pictureStore.updateOnePictureStore({_id: req.body.storeId}, {$addToSet: {pictureUrlArr: {$each: pictureUrlArr}}}, (err, data) => {
if (!err) {
return RETURNSUCCESS(res, data)
} else {
return RETURNFAIL(res, err)
}
})
fabric.js API的使用 以及能實現的功能預覽
謝謝閱讀.如果覺得對你有幫助請記得或.歡迎留言討論.你的支持是我出產優秀博客的動力.
請尊重他人勞動成果, 如需轉載,請私信我,禁止私自轉載
API JavaScript
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。