欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    轉(zhuǎn)發(fā)鏈接:

    前言

    在頭條發(fā)布文章時(shí),需要為文章配置一個(gè)封面圖片。我的常規(guī)做法就是網(wǎng)上搜一張圖片,然后利用 ,在圖片上加入文章標(biāo)題圖文轉(zhuǎn)換流程圖技巧,然后導(dǎo)出生成圖片,如下圖所示:

    上圖實(shí)際就是在一張背景圖中,加入了一行文字。操作步驟簡(jiǎn)單,但是每次都需要打開修改文字,感覺麻煩、工作重復(fù)。

    能不能用代碼,解決日常生活中遇到的重復(fù)性工作呢?

    實(shí)現(xiàn)方案

    整體思路:

    文字和圖形不能直接合并,需要將文字先轉(zhuǎn)換成圖形,然后再將圖形進(jìn)行合并,大致步驟如下:

    利用text-to-svg,將文字轉(zhuǎn)成SVG圖形;利用sharp,將SVG圖形與背景圖片合并;

    分析實(shí)現(xiàn):

    1. 將文字轉(zhuǎn)為SVG圖形

    將文字轉(zhuǎn)換為SVG圖形,需要借助Node的模塊text-to-png,該模塊能夠?qū)⑽淖职凑罩付ㄗ煮w生成SVG圖形。

    SVG 意為可縮放矢量圖形( ),放縮時(shí)不損失圖形質(zhì)量,SVG 是使用 XML 格式定義的圖像,如下所示:

    在html頁面中嵌入了一個(gè)SVG表示三角形

    
    
    
    
    

    展示效果:

    SVG很好的充當(dāng)了中間變量的角色,言歸正傳,看下代碼如何實(shí)現(xiàn)轉(zhuǎn)換:

    let?path?=?require('path');
    let?TextToSVG?=?require('text-to-svg');
    let?fontPath?=?path.join(__dirname,?'./fonts/msyhbd.ttf');//字體可以下載或者從本機(jī)系統(tǒng)內(nèi)copy
    let?textToSVG?=?TextToSVG.loadSync(fontPath);?//?加載字體文件
    let?options?=?{
    ????x:?0,?????????//文本開頭的水平位置(默認(rèn)值:0)
    ????y:?0,?????????//?文本的基線的垂直位置(默認(rèn)值:0)
    ????fontSize:?36,?//?字體大小
    ????anchor:?'top',?//?坐標(biāo)中的對(duì)象錨點(diǎn)
    

    圖文轉(zhuǎn)換答題技巧_圖文轉(zhuǎn)換在線轉(zhuǎn)換_圖文轉(zhuǎn)換流程圖技巧

    ????//?letterSpacing:?"",??//?設(shè)置字母的間距 ????attributes:?{ ????????fill:?'#FFFFFF'?//?文字顏色 ????} } let?textSVG?=?textToSVG.getSVG('【前端名獅】',?options); console.log(textSVG);

    輸出結(jié)果:

    2. 合并圖形

    用于合并圖片的庫有很多,比如gm、jimp、、sharp等,其中sharp是基于庫來實(shí)現(xiàn)的,性能是最高的,所以我采用了sharp來合并圖形。

    let?textSVG?=?Buffer.from(textSVG);
    let?bgPath?=?path.join(__dirname,?'./img/bg.jpg');
    let?targetPath?=?path.join(__dirname,?'../dist/bg.jpg');
    sharp(bgPath).composite([{
    ????????input:?textSVG,
    ????????gravity:?'center'
    ????}]).toFile(targetPath);

    sharp庫注意事項(xiàng)

    因?yàn)槭腔赾++實(shí)現(xiàn)的,所以sharp庫需要基于C++源代碼進(jìn)行編譯構(gòu)建后才能使用。node-gyp是為node編譯C++擴(kuò)展的時(shí)候使用的編譯工具,但是node-gyp依賴和VC++構(gòu)建工具來進(jìn)行編譯。所以需要先安裝 和 VC++ 環(huán)境。最簡(jiǎn)單的方式就是順序執(zhí)行下面安裝命令:

    //?安裝構(gòu)建環(huán)境python、vc++
    npm?install?--global?--production?windows-build-tools
    //?安裝node-gyp?編譯工具
    npm?install?--global?node-gyp
    //?安裝sharp
    npm?install?sharp

    官方文檔中,用sharp合并圖像時(shí),給出的api是 ,但是你會(huì)發(fā)現(xiàn),這個(gè)api并不存在。這個(gè)是因?yàn)閟harp最新版本0.23.3刪除了,用進(jìn)行了替換。

    至此,我們就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的生成公眾號(hào)封面圖片的功能,讓我們看看生成效果:

    總結(jié)

    程序可以幫助我們干重復(fù)的事情圖文轉(zhuǎn)換流程圖技巧,提高我們的生產(chǎn)力,如果程序員寫的代碼都用于解決自己生活中遇到的問題,對(duì)程序員無疑是巨大的動(dòng)力源泉。

    推薦經(jīng)典實(shí)例學(xué)習(xí)資料文章

    《愛奇藝云剪輯Web端的技術(shù)實(shí)現(xiàn)》

    圖文轉(zhuǎn)換答題技巧_圖文轉(zhuǎn)換在線轉(zhuǎn)換_圖文轉(zhuǎn)換流程圖技巧

    《我再也不敢說我會(huì)寫前端 組件「實(shí)踐」》

    《NodeX - 滴滴集團(tuán) Node.js 生態(tài)組件體系「實(shí)踐」》

    《Node 完整指南》

    《推薦18個(gè)精美插件「干貨」》

    《前端開發(fā)需要了解常用7種設(shè)計(jì)模式》

    《淺談瀏覽器架構(gòu)、單線程js、事件循環(huán)、消息隊(duì)列、宏任務(wù)和微任務(wù)》

    《了不起的 HMR 學(xué)習(xí)指南(上)「含源碼講解」》

    《了不起的 HMR 學(xué)習(xí)指南(下)「含源碼講解」》

    《10個(gè)打開了我新世界大門的 (上)「實(shí)踐」》

    《10個(gè)打開了我新世界大門的 (中)「實(shí)踐」》

    《10個(gè)打開了我新世界大門的 (下)「實(shí)踐」》

    《「圖文」 在中大型團(tuán)隊(duì)的應(yīng)用實(shí)踐》

    《Deno是代碼的瀏覽器,你認(rèn)同嗎?》

    《前端存儲(chǔ)除了 還有啥?》

    《 多線程編程?的前世今生》

    《微前端方案 (實(shí)踐及總結(jié))》

    《「圖文」V8 垃圾回收原來這么簡(jiǎn)單?》

    《 5模塊聯(lián)邦引發(fā)微前端的革命?》

    《基于 Web 端的人臉識(shí)別身份驗(yàn)證「實(shí)踐」》

    《「前端進(jìn)階」高性能渲染十萬條數(shù)據(jù)(時(shí)間分片)》

    《「前端進(jìn)階」高性能渲染十萬條數(shù)據(jù)(虛擬列表)》

    《圖解 實(shí)現(xiàn)原理(一):基礎(chǔ)實(shí)現(xiàn)》

    《圖解 實(shí)現(xiàn)原理(二): 鏈?zhǔn)秸{(diào)用》

    《圖解 實(shí)現(xiàn)原理(三): 原型方法實(shí)現(xiàn)》

    《圖解 實(shí)現(xiàn)原理(四): 靜態(tài)方法實(shí)現(xiàn)》

    《實(shí)踐教你從零構(gòu)建前端 Lint 工作流「干貨」》

    《高性能多級(jí)多選級(jí)聯(lián)組件開發(fā)「JS篇」》

    《深入淺出講解Node.js CLI 工具最佳實(shí)戰(zhàn)》

    《延遲加載圖像以提高Web網(wǎng)站性能的五種方法「實(shí)踐」》

    《比較 對(duì)象的四種方式「實(shí)踐」》

    《使用 讓你的 Web 應(yīng)用如虎添翼(上)「干貨」》

    《使用 讓你的 Web 應(yīng)用如虎添翼(中)「干貨」》

    《使用 讓你的 Web 應(yīng)用如虎添翼(下)「干貨」》

    《前端如何一次性處理10萬條數(shù)據(jù)「進(jìn)階篇」》

    《推薦三款正則可視化工具「JS篇」》

    圖文轉(zhuǎn)換在線轉(zhuǎn)換_圖文轉(zhuǎn)換流程圖技巧_圖文轉(zhuǎn)換答題技巧

    《如何讓用戶選擇是否離開當(dāng)前頁面?「JS篇」》

    《開發(fā)人員更喜歡Deno的五大原因》

    《僅用18行實(shí)現(xiàn)一個(gè)倒數(shù)計(jì)時(shí)器》

    《圖文細(xì)說 的運(yùn)行機(jī)制》

    《一個(gè)輕量級(jí) 全文搜索庫,輕松實(shí)現(xiàn)站內(nèi)離線搜索》

    《推薦Web程序員常用的15個(gè)源代碼編輯器》

    《10個(gè)實(shí)用的JS技巧「值得收藏」》

    《細(xì)品269個(gè)小函數(shù),讓你少加班熬夜(一)「值得收藏」》

    《細(xì)品269個(gè)小函數(shù),讓你少加班熬夜(二)「值得收藏」》

    《細(xì)品269個(gè)小函數(shù),讓你少加班熬夜(三)「值得收藏」》

    《細(xì)品269個(gè)小函數(shù),讓你少加班熬夜(四)「值得收藏」》

    《細(xì)品269個(gè)小函數(shù),讓你少加班熬夜(五)「值得收藏」》

    《細(xì)品269個(gè)小函數(shù),讓你少加班熬夜(六)「值得收藏」》

    《深入教你內(nèi)存泄漏如何防范》

    《手把手教你7個(gè)有趣的 項(xiàng)目-上「附源碼」》

    《手把手教你7個(gè)有趣的 項(xiàng)目-下「附源碼」》

    《 使用 API 訪問攝像頭自拍》

    《手把手教你前端代碼如何做錯(cuò)誤上報(bào)「JS篇」》

    《一文讓你徹底搞懂移動(dòng)前端和Web 前端區(qū)別在哪里》

    《63個(gè) 正則大禮包「值得收藏」》

    《提高你的 技能10 個(gè)問答題》

    《圖表庫的5個(gè)首選》

    《一文徹底搞懂 中.與.seal的用法》

    《可視化的 JS:動(dòng)態(tài)圖演示 - 事件循環(huán) Event Loop的過程》

    《教你如何用動(dòng)態(tài)規(guī)劃和貪心算法實(shí)現(xiàn)前端瀑布流布局「實(shí)踐」》

    《可視化的 js:動(dòng)態(tài)圖演示 & Async/Await 的過程》

    《原生JS封裝拖動(dòng)驗(yàn)證滑塊你會(huì)嗎?「實(shí)踐」》

    《如何實(shí)現(xiàn)高性能的在線 PDF 預(yù)覽》

    《細(xì)說使用字體庫加密數(shù)據(jù)-仿58同城》

    《Node.js要完了嗎?》

    《Pug 3.0.0正式發(fā)布,不再支持 Node.js 6/8》

    《純JS手寫輪播圖(代碼邏輯清晰,通俗易懂)》

    《 20 年 中文版之創(chuàng)立標(biāo)準(zhǔn)》

    《值得收藏的前端常用60余種工具方法「JS篇」》

    《箭頭函數(shù)和常規(guī)函數(shù)之間的 5 個(gè)區(qū)別》

    圖文轉(zhuǎn)換流程圖技巧_圖文轉(zhuǎn)換答題技巧_圖文轉(zhuǎn)換在線轉(zhuǎn)換

    《通過發(fā)布/訂閱的設(shè)計(jì)模式搞懂 Node.js 核心模塊 》

    《「前端篇」不再為正則煩惱》

    《「速圍」Node.js V14.3.0 發(fā)布支持頂級(jí) Await 和 REPL 增強(qiáng)功能》

    《深入細(xì)品瀏覽器原理「流程圖」》

    《 已進(jìn)入第三個(gè)時(shí)代,未來將何去何從?》

    《前端上傳前預(yù)覽文件 image、text、json、video、audio「實(shí)踐」》

    《深入細(xì)品 和瀏覽器渲染、幀動(dòng)畫、空閑回調(diào)的關(guān)系》

    《推薦13個(gè)有用的數(shù)組技巧「值得收藏」》

    《前端必備基礎(chǔ)知識(shí):. 詳解》

    《不要再依賴了》

    《犀牛書作者:最該忘記的特性》

    《36個(gè)工作中常用的函數(shù)片段「值得收藏」》

    《Node + H5 實(shí)現(xiàn)大文件分片上傳、斷點(diǎn)續(xù)傳》

    《一文了解文件上傳全過程(1.8w字深度解析)「前端進(jìn)階必備」》

    《【實(shí)踐總結(jié)】關(guān)于小程序掙脫枷鎖實(shí)現(xiàn)批量上傳》

    《手把手教你前端的各種文件上傳攻略和大文件斷點(diǎn)續(xù)傳》

    《字節(jié)跳動(dòng)面試官:請(qǐng)你實(shí)現(xiàn)一個(gè)大文件上傳和斷點(diǎn)續(xù)傳》

    《談?wù)勄岸岁P(guān)于文件上傳下載那些事【實(shí)踐】》

    《手把手教你如何編寫一個(gè)前端圖片壓縮、方向糾正、預(yù)覽、上傳插件》

    《最全的 模塊化方案和工具》

    《「前端進(jìn)階」JS中的內(nèi)存管理》

    《正則深入以及10個(gè)非常有意思的正則實(shí)戰(zhàn)》

    《前端面試者經(jīng)常忽視的一道 面試題》

    《一行JS代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的模板字符串替換「實(shí)踐」》

    《JS代碼是如何被壓縮的「前端高級(jí)進(jìn)階」》

    《前端開發(fā)規(guī)范:命名規(guī)范、html規(guī)范、css規(guī)范、js規(guī)范》

    《【規(guī)范篇】前端團(tuán)隊(duì)代碼規(guī)范最佳實(shí)踐》

    《100個(gè)原生代碼片段知識(shí)點(diǎn)詳細(xì)匯總【實(shí)踐】》

    《關(guān)于前端174道 知識(shí)點(diǎn)匯總(一)》

    《關(guān)于前端174道 知識(shí)點(diǎn)匯總(二)》

    《關(guān)于前端174道 知識(shí)點(diǎn)匯總(三)》

    《幾個(gè)非常有意思的知識(shí)點(diǎn)總結(jié)【實(shí)踐】》

    《都2020年了,你還不會(huì) 裝飾器?》

    《實(shí)現(xiàn)圖片合成下載》

    《70個(gè)知識(shí)點(diǎn)詳細(xì)總結(jié)(上)【實(shí)踐】》

    圖文轉(zhuǎn)換流程圖技巧_圖文轉(zhuǎn)換答題技巧_圖文轉(zhuǎn)換在線轉(zhuǎn)換

    《70個(gè)知識(shí)點(diǎn)詳細(xì)總結(jié)(下)【實(shí)踐】》

    《開源了一個(gè) 版敏感詞過濾庫》

    《送你 43 道 面試題》

    《3個(gè)很棒的小眾庫,你值得擁有》

    《手把手教你深入鞏固知識(shí)體系【思維導(dǎo)圖】》

    《推薦7個(gè)很棒的產(chǎn)品步驟引導(dǎo)庫》

    《Echa哥教你徹底弄懂 執(zhí)行機(jī)制》

    《一個(gè)合格的中級(jí)前端工程師需要掌握的 28 個(gè) 技巧》

    《深入解析高頻項(xiàng)目中運(yùn)用到的知識(shí)點(diǎn)匯總【JS篇】》

    《 工具函數(shù)大全【新】》

    《從中看設(shè)計(jì)模式(總結(jié))》

    《身份證號(hào)碼的正則表達(dá)式及驗(yàn)證詳解(,Regex)》

    《瀏覽器中實(shí)現(xiàn)計(jì)時(shí)器的4種創(chuàng)新方式》

    《Three.js 動(dòng)效方案》

    《手把手教你常用的59個(gè)JS類方法》

    《127個(gè)常用的JS代碼片段,每段代碼花30秒就能看懂-【上】》

    《深入淺出講解 js 深拷貝 vs 淺拷貝》

    《手把手教你JS開發(fā)H5游戲【消滅星星】》

    《深入淺出講解JS中this/apply/call/bind巧妙用法【實(shí)踐】》

    《手把手教你全方位解讀JS中this真正含義【實(shí)踐】》

    《書到用時(shí)方恨少,一大波JS開發(fā)工具函數(shù)來了》

    《干貨滿滿!如何優(yōu)雅簡(jiǎn)潔地實(shí)現(xiàn)時(shí)鐘翻牌器(支持JS/Vue/React)》

    《手把手教你JS 異步編程六種方案【實(shí)踐】》

    《讓你減少加班的15條高效JS技巧知識(shí)點(diǎn)匯總【實(shí)踐】》

    《手把手教你JS開發(fā)H5游戲【黃金礦工】》

    《手把手教你JS實(shí)現(xiàn)監(jiān)控瀏覽器上下左右滾動(dòng)》

    《JS 經(jīng)典實(shí)例知識(shí)點(diǎn)整理匯總【實(shí)踐】》

    《2.6萬字JS干貨分享,帶你領(lǐng)略前端魅力【基礎(chǔ)篇】》

    《2.6萬字JS干貨分享,帶你領(lǐng)略前端魅力【實(shí)踐篇】》

    《簡(jiǎn)單幾步讓你的 JS 寫得更漂亮》

    《恭喜你獲得治療JS this的詳細(xì)藥方》

    《談?wù)勄岸岁P(guān)于文件上傳下載那些事【實(shí)踐】》

    《面試中教你繞過關(guān)于 作用域的 5 個(gè)坑》

    《插件(常用的插件庫)》

    《【JS】如何防止重復(fù)發(fā)送ajax請(qǐng)求》

    《+實(shí)現(xiàn)自定義畫板》

    《 在 JS 中的應(yīng)用「前端篇」》

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有