沒(méi)想到學(xué)會(huì)這個(gè)canvas庫(kù),竟能做這么多項(xiàng)目
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
大家好,我是一名前端工程師,也是開(kāi)源圖片編輯器vue-fabric-editor?項(xiàng)目的作者,2024年5月從北京辭職,我便開(kāi)始了自己的輕創(chuàng)業(yè)之路,接觸了不同的客戶和業(yè)務(wù)場(chǎng)景,回顧這半年,沒(méi)想到學(xué)會(huì) 如果你打算學(xué)習(xí)一個(gè)
項(xiàng)目經(jīng)歷從北京回老家邯鄲后,我陸續(xù)做了很多項(xiàng)目,包括證件照設(shè)計(jì)、錦旗/銘牌定制工具、Shopify定制插件、批量生成圖片、手機(jī)版圖片設(shè)計(jì)工具、服裝設(shè)計(jì)、電商工具等,這些項(xiàng)目都離不開(kāi) 圖片設(shè)計(jì)圖片設(shè)計(jì)是我接觸的第一個(gè)主要應(yīng)用領(lǐng)域。項(xiàng)目最初源于一個(gè)小紅書(shū)成語(yǔ)卡片設(shè)計(jì)工具的構(gòu)想,隨后逐步擴(kuò)展到更廣泛的設(shè)計(jì)場(chǎng)景,包括小紅書(shū)封面、公眾號(hào)頭圖、營(yíng)銷海報(bào)以及電商圖片等多種自媒體內(nèi)容制作。 這類應(yīng)用的核心功能在于自定義畫(huà)布尺寸和元素排版,得益于fabric.js的原生支持,實(shí)現(xiàn)起來(lái)相對(duì)簡(jiǎn)單。我們主要工作是開(kāi)發(fā)直觀的屬性編輯面板,使用戶能夠便捷地調(diào)整所選元素的文字和圖片屬性。 當(dāng)然如果做的完善一些,還需要 還有很多細(xì)節(jié)的功能,比如組合保存、字體特效、圖層拖拽、圖片濾鏡等,這些功能我們做的比較完善了。 定制設(shè)計(jì)工具圖片設(shè)計(jì)的場(chǎng)景相對(duì)通用,沒(méi)有太多定制化的需求。而定制類的設(shè)計(jì)工具則需要針對(duì)特定場(chǎng)景深度開(kāi)發(fā),比如證件照、錦旗/銘牌設(shè)計(jì)、相冊(cè)設(shè)計(jì)等,每個(gè)場(chǎng)景有不同的定制功能。 證件照設(shè)計(jì)工具的核心在于自動(dòng)化的處理。主要工作量集中在尺寸的匹配,確保圖片能自動(dòng)調(diào)整到最佳大小。同時(shí),需要提供人物圖片的裁剪功能,讓用戶能便捷地進(jìn)行換裝、切換證件尺寸、更換背景等操作。 錦旗與銘牌設(shè)計(jì)則更注重文字內(nèi)容的自動(dòng)排版。系統(tǒng)需要根據(jù)用戶輸入的抬頭、落款、贈(zèng)言等內(nèi)容,自動(dòng)計(jì)算最優(yōu)的文字間距和整體布局,確保作品的美觀性。特別是銘牌設(shè)計(jì),還需要實(shí)現(xiàn)曲線文字功能,讓文字能夠優(yōu)雅地沿著弧形排布。 相冊(cè)設(shè)計(jì)工具的重點(diǎn)是提供靈活的畫(huà)布裁剪功能。用戶可以使用各種預(yù)設(shè)的形狀模板來(lái)裁剪圖片,需要確保裁剪后的圖片既美觀又協(xié)調(diào),最終生成精美的畫(huà)冊(cè)作品,交互上方便用戶拖拽圖片快速放入裁剪區(qū)域。 電商工具電商場(chǎng)景比圖片設(shè)計(jì)更垂直,除了普通的平面設(shè)計(jì),例如店鋪裝修、商品主圖、詳情圖的設(shè)計(jì),另外還需要對(duì)商品進(jìn)行換尺寸、摳圖、換背景、去水印、涂抹消除、超清放大等操作,這些對(duì)圖片處理的要求更高一些。 批量生成批量算是一個(gè)比較剛需的功能,比如電商的主圖,很多需要根據(jù)不同產(chǎn)品到圖片和價(jià)格來(lái)批量加邊框和文字,以及節(jié)慶價(jià)格折扣等,來(lái)生成商品主圖,結(jié)合圖片和表格可以快速生成,減少設(shè)計(jì)師的重復(fù)工作量。 另一部分是偏打印的場(chǎng)景,比如批量制作一些商品的二維碼條形碼,用在超市價(jià)簽、電子價(jià)簽、一物一碼、服裝標(biāo)簽等場(chǎng)景,根據(jù)數(shù)據(jù)表格來(lái)批量生成。 這種項(xiàng)目主要的工作量在交互上,如何將畫(huà)布中的文字和圖片元素與表格中的數(shù)據(jù)一一對(duì)應(yīng),并批量生成,另外會(huì)有一些細(xì)節(jié),比如條形碼的尺寸、圖片的尺寸如何與畫(huà)布中的尺寸比例進(jìn)行匹配,這些細(xì)節(jié)需要我們自己實(shí)現(xiàn)。 上邊的方式是通過(guò)表格來(lái)批量生成圖片,還有一種是根據(jù) API來(lái)批量生成圖片,很多場(chǎng)景其實(shí)沒(méi)有編輯頁(yè)面,只希望能夠通過(guò)一個(gè) API,傳入模板和數(shù)據(jù),直接生成圖片,fabric.js 支持在nodejs 中使用,我們要做的就是根據(jù)模板和數(shù)據(jù)拼接 JSON,然后通過(guò)fabric.js 在后端生成圖片,然后返回給前端,性能很好,實(shí)際測(cè)試 2 核 2G 的機(jī)器,每張圖片在 100ms 左右。 很多營(yíng)銷內(nèi)容和知識(shí)卡片、證書(shū)、獎(jiǎng)狀也可以通過(guò)批量生成圖片API來(lái)實(shí)現(xiàn)。 當(dāng)然,還有一些更復(fù)雜的場(chǎng)景,比如不同的數(shù)據(jù)匹配不同的模板,不同的組件展示不同的形式等,包括錯(cuò)別字檢測(cè)、翻譯等,我們也為客戶做了很多定制化的匹配規(guī)則。 服裝/商品定制服裝/商品定制是讓用戶在設(shè)計(jì)平臺(tái)上上傳圖片,然后將圖片貼圖到對(duì)應(yīng)的商品模板上,實(shí)現(xiàn)讓用戶快速預(yù)覽設(shè)計(jì)效果的需求。 這種場(chǎng)景一般會(huì)分為 2 類,一類是是針對(duì) C 端用戶,需要的是簡(jiǎn)單、直觀,能夠讓用戶上傳一張圖片,簡(jiǎn)單調(diào)整一下位置就能確認(rèn)效果快速下單。 我在這篇文章里做了詳細(xì)介紹:《fabric.js 實(shí)現(xiàn)服裝/商品定制預(yù)覽效果》。 另一類是針對(duì)小 B 端的用戶,他們對(duì)設(shè)計(jì)細(xì)節(jié)有更高的要求,比如領(lǐng)子、口袋、袖子等,不同的位置進(jìn)行不同的元素貼圖,最后將這些元素組合成一個(gè)完整的服裝效果圖,最后需要生成預(yù)覽圖片,在電商平臺(tái)售賣,完成設(shè)計(jì)后,還要將不同區(qū)域的圖片進(jìn)行存儲(chǔ),提供給生產(chǎn)廠家,廠家快速進(jìn)行生產(chǎn)。 比如抱枕、手機(jī)殼、T恤、衛(wèi)衣、帽子、鞋子、包包等,都可以通過(guò)類似服裝設(shè)計(jì)的功能來(lái)實(shí)現(xiàn)。 很多開(kāi)發(fā)者會(huì)提出疑問(wèn),是否需要介入 3D 的開(kāi)發(fā)呢? 我們也和很多客戶溝通過(guò),從業(yè)務(wù)的角度看,他回答是:3D 的運(yùn)營(yíng)成本太高。他們做的都是小商品,SKU 很多很雜,如果每上一個(gè)商品就要進(jìn)行 3D 建模,周期長(zhǎng)并且成本高,他們更希望的是通過(guò) 2D 的圖片來(lái)實(shí)現(xiàn),而且 2D 完全能夠滿足讓用戶快速預(yù)覽確認(rèn)效果的需求,所以 2D 的服裝設(shè)計(jì)工具就成為了他們的首選。 包裝設(shè)計(jì)包裝設(shè)計(jì)是讓用戶在設(shè)計(jì)平臺(tái)上,上傳自己的圖片,然后將圖片貼圖都包裝模板上,主要的場(chǎng)景是生成定制場(chǎng)景,比如紙箱、紙袋、紙盒、紙杯、紙質(zhì)包裝等,這些場(chǎng)景需要根據(jù)不同的尺寸、形狀、材質(zhì)、顏色等進(jìn)行定制化設(shè)計(jì),最后生成預(yù)覽圖片。 因?yàn)樵O(shè)計(jì)到不同的形狀和切面,而且大部分是大批量定制生產(chǎn),所以對(duì)細(xì)節(jié)比較謹(jǐn)慎,另外包裝規(guī)格相對(duì)比較固定,所有用3D模型來(lái)實(shí)現(xiàn)就比較符合。 另外,在確定設(shè)計(jì)效果后,需要導(dǎo)出刀版圖,提供給生產(chǎn)廠家,廠家根據(jù)刀版圖進(jìn)行生產(chǎn),所以需要將設(shè)計(jì)圖導(dǎo)出為刀版圖,這個(gè)功能 fabric.js 也支持,可以導(dǎo)出為 SVG 格式直接生產(chǎn)使用。 AI結(jié)合在AI 大火的階段,就不得不提 AI 的場(chǎng)景了,無(wú)論在自媒體內(nèi)容、電商、商品、服裝設(shè)計(jì)的場(chǎng)景,都有 AI 介入的影子,舉個(gè)例子,通過(guò) AI生成內(nèi)容來(lái)批量生成營(yíng)銷內(nèi)容圖片,通過(guò) AI 來(lái)對(duì)電商圖片進(jìn)行換背景和圖片翻譯,通過(guò) AI 生成印花圖案來(lái)制作服裝,通過(guò) AI 來(lái)生成紋理圖來(lái)生成紙盒包裝,太多太多的 AI 的應(yīng)用場(chǎng)景,也是客戶真金白銀定制開(kāi)發(fā)的功能。 展望2025從圖片設(shè)計(jì)的場(chǎng)景來(lái)看,我們的產(chǎn)品已經(jīng)很成熟了,也算是主力產(chǎn)品了,未來(lái)會(huì)持續(xù)迭代和優(yōu)化,讓體驗(yàn)更好,功能更強(qiáng)大,把細(xì)節(jié)做的更完善,例如支持打印、視頻生成等功能。 從定制設(shè)計(jì)工具的場(chǎng)景來(lái)看,我們積累了不同商品定制設(shè)計(jì)的經(jīng)驗(yàn),從技術(shù)和產(chǎn)品到角度看,我們還可以抽象出更好的解決方案,讓客戶能夠更高效、低成本的接入,提供給他們的客戶使用,快速實(shí)現(xiàn)設(shè)計(jì)生產(chǎn)的打通。 2024 到 2025 ,從在家辦公一個(gè)人輕創(chuàng)業(yè),搬到了我們的辦公室,期待未來(lái)越來(lái)創(chuàng)造更多價(jià)值。 總結(jié)半年的時(shí)間,這些項(xiàng)目的需求 另外,對(duì)我來(lái)說(shuō)更重要的是,客戶教會(huì)了我們很多業(yè)務(wù)知識(shí),這些才是寶貴的業(yè)務(wù)知識(shí)和行業(yè)經(jīng)驗(yàn),一定要心存敬畏,保持空杯,只有這樣我們才能做好在線設(shè)計(jì)工具解決方案。 這篇文章也算是我從 2024年離職出來(lái)到現(xiàn)在的一個(gè)年終總結(jié)了,希望我們踩過(guò)的坑和積累的經(jīng)驗(yàn)都變成有價(jià)值的服務(wù),作為基石在2025年服務(wù)更多客戶,文章內(nèi)容供大家一些參考,期待你的批評(píng)指正,一起成長(zhǎng),祝大家 2025年大展宏圖。 給我們的開(kāi)源項(xiàng)目一個(gè)Star吧:github.com/ikuaitu/vue… ??。 轉(zhuǎn)自https://juejin.cn/post/7459286862839054373 該文章在 2025/3/19 9:11:02 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |