gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

這款JS輕量編輯器能助你快速處理圖片!

本文給大家介紹一款純 JS 實現的輕量化圖片編輯器,希望對需要的朋友有所幫助!

這款JS輕量編輯器能助你快速處理圖片!

前端(vue)入門到精通課程:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

介紹

因為一些特點的工作場景, 寫文章的需要每次處理一些圖片, 在上面加說明文字, 或者加一些圖形

剛開始使用 PPT 來處理, 一張張復制過去, 做一些邊框陰影處理, 再加一些圖形, 然后再導出來復制到需要的地方, 而且導出后的圖片之后可能不會再使用了還要清理.

圖片多了重復操作的步驟就多了, 比較的繁瑣, 想想是否有個工具去解決這個問題, 搜了一下, 要么就是太重的專業的軟件, 要么就是不太符合批量的要求的軟件.【推薦:JavaScript視頻教程】

簡單總結一下我的場景就是: 來了一堆圖片, 都需要做一些 "輕處理", 有些需要加文字, 或者加個箭頭等.

  • 關鍵就是 "輕", 不需要去等待幾十秒去打開, 進行繁瑣的處理

  • 不需要下載就能使用, 用完關閉即可

  • 簡單, 易用, 可視化, 不需要一些復雜的操作, 鼠標點擊就能完成

一款純 JS 實現的輕量化圖片編輯器

如果上面的場景是你所遇見的, 也想輕量快速的處理一些圖片, 這個項目就是為你而準備的

GenOptimizer 在線演示地址:https://genoptimizer.cn/

這款JS輕量編輯器能助你快速處理圖片!

  • 支持多圖操作

  • 支持圖片拖拽添加

  • 支持所有屬性的動態配置

  • 支持一鍵復制修改后的結果

  • 支持畫筆、文字、矩形、圓形、箭頭、線條、圖像的添加

這個項目沒有依賴于任何的第三方框架, 以純 JS 實現

最后抽象出了一個框架 (GenOptimizer), 以一種十分簡潔易用的方式寫出了整個項目

下面是項目的 git 地址, 筆者初學前端, 還請多多指教

  • Github 地址:https://github.com/hellojuantu/image_border_optimizer

  • Gitee 地址:https://gitee.com/sanbuqu/image_border_optimizer

下面是介紹框架的一些技術總結, 特別的輕量化, 后序會對揭秘一下具體的實現方案

Optimizer 框架特點

這款JS輕量編輯器能助你快速處理圖片!

  • 事件、畫圖、交互 全局管理

  • 支持注冊自定義組件, 可自定義配置管理

  • 基于面向對象, 高度抽象代碼

  • 簡單易用, 能快速開發出各種效果

  • Optimizer 框架使用

啟動

首先需要場景管理器, 通過繼承 GenScene 來創建場景, 場景里對于頁面中的多個控制器進行管理

class MainScene extends GenScene {     constructor(optimizer) {         super(optimizer)     } }
登錄后復制

全局使用 instance 獲取實例, 加載場景管理器, 最簡單的 Optimizer 程序就啟動了

GenOptimizer.instance(function(o){     let scene = MainScene.new(o)     o.runWithScene(scene) })
登錄后復制

場景管理器 (Scene)

事件 (Event)

頁面事件

... <div class='gen-auto-button-area'>     <button class='gen-auto-button' data-value='config.arg1'>text</button> </div> ... // 注冊頁面 class, 全局可用 this.registerPageClass({     "buttonArea": 'gen-auto-button-area',     ... }) // 注冊全局事件        this.registerGlobalEvents([          {         eventName: "click",         // 事件綁定的元素區域         className: sc.pageClass.buttonArea,         // 在 所有 configToEvents 響應之 前 觸發         after: function(bindVar, target) {             // bindVar: 綁定的變量             // target: 事件觸發的目標         },                 // 在 所有 configToEvents 響應之 后 觸發         before: function(bindVar, target) {             // bindVar: 綁定的變量             // target: 事件觸發的目標         },         // 事件響應         configToEvents: {             // 自定義綁定的變量: 事件觸發后的響應             "config.arg1": function(target) {                              },             "action.arg1": function(target) {                              },             ...         }     },     ... ])
登錄后復制

鼠標事件

this.resgisterMouse(function(event, action) {      // event 是鼠標點擊的事件     // action 為鼠標點擊的事件名稱         if (action == 'mouseleave') {         console.log('mouseleave canvas')     } else if (action == 'up') {         console.log('up canvas')     } else if (action == 'down') {         console.log('down canvas')     } else if (action == 'move') {         console.log('move canvas')     } })
登錄后復制

鍵盤事件

this.registerAction("Backspace", status => {     // status 為 'down' 時, 表示按下, 為 'up' 時, 表示松開     console.log("Backspace", status) }) this.registerAction("s", status => {     // status 為 'down' 時, 表示按下, 為 'up' 時, 表示松開     console.log("s", status) })
登錄后復制

組件 (Component)

注冊組件

class MyComponent extends GenComponent {     constructor(control) {         super(control.scene)         this.control = control     }     ... } this.bindComponent('attribute', MyComponent.new(this))
登錄后復制

使用組件

// 全局可使用組件 let data = ... this.getComponent('attribute').buildWith(data)
登錄后復制

總結

本文介紹了筆者實現的一款可拖拽、低代碼、輕量化的圖片編輯器, 解決了繁瑣處理圖片的問題

有時候一些小的操作, 都可能引發我們的思考, 如何才能更方便的處理這一類的問題?

這個例子就是我的思考, 希望能給于你一點靈感或啟發.

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
九一国产精品视频| 国产资源第一页| 欧美日韩中文不卡| 免费观看成人在线视频| 国产二区视频在线| 免费看日本黄色| 少妇一晚三次一区二区三区| 日韩精品一区中文字幕| 久久久亚洲国产精品| 国产福利一区视频| 中文字幕国产免费| 亚洲一区二区图片| 日韩免费毛片视频| 欧美一区二区三区综合| 每日在线更新av| 国产999免费视频| 99sesese| 无码日韩人妻精品久久蜜桃| 日本三级免费观看| 日韩精品一区中文字幕| wwww.国产| 婷婷视频在线播放| 手机看片福利日韩| wwwxxx黄色片| 噜噜噜久久亚洲精品国产品麻豆 | 少妇熟女一区二区| 涩多多在线观看| 国模无码视频一区二区三区| 色诱视频在线观看| 亚洲国产午夜精品| 一女被多男玩喷潮视频| 亚洲男人天堂2021| 欧洲av无码放荡人妇网站| 17c丨国产丨精品视频| 91视频最新入口| 艳母动漫在线观看| 国产日韩一区二区在线观看| 黄色录像特级片| 国产乱淫av片杨贵妃| 精品欧美一区免费观看α√| av动漫在线播放| 九一免费在线观看| 50路60路老熟妇啪啪| 日韩av黄色网址| 日本十八禁视频无遮挡| 天天操天天爱天天爽| 国产欧美高清在线| 黑森林福利视频导航| 九九热只有这里有精品| 天堂社区在线视频| 日本精品福利视频| 黄色一级视频片| jizz大全欧美jizzcom| www.日本在线播放| 992tv成人免费观看| www国产精品内射老熟女| 熟女熟妇伦久久影院毛片一区二区| 欧美日韩大尺度| 蜜臀av性久久久久蜜臀av| 一路向西2在线观看| 久久久精品在线视频| 欧美午夜小视频| 久久精品视频91| 日日躁夜夜躁aaaabbbb| 日本a在线免费观看| 国内av免费观看| 国产福利在线免费| 日韩av综合在线观看| 日韩久久一级片| 91传媒久久久| 亚洲欧美日韩精品一区| 性欧美在线视频| 中文字幕一区二区在线观看视频| 8x8x华人在线| 强伦女教师2:伦理在线观看| www.夜夜爱| 在线视频观看一区二区| 奇米视频7777| 男人的天堂成人| 五月天国产视频| 91国视频在线| 日本一本在线视频| 茄子视频成人免费观看| 手机av在线免费| 黑人巨茎大战欧美白妇| 亚洲欧美日韩网站| 国产精品拍拍拍| 能在线观看的av网站| 97国产精东麻豆人妻电影| 手机免费av片| 午夜两性免费视频| 色天使在线观看| 黄色特一级视频| 野外做受又硬又粗又大视频√| 亚洲中文字幕无码专区| 欧美三级午夜理伦三级老人| 最近中文字幕一区二区| 国产亚洲综合视频| 国内外成人激情免费视频| 色欲av无码一区二区人妻| 少妇av一区二区三区无码| 岛国毛片在线播放| 久久国产成人精品国产成人亚洲| 男女av免费观看| 欧美精品自拍视频| 欧美在线观看www| 免费毛片网站在线观看| 丝袜老师办公室里做好紧好爽 | 黄色高清视频网站| www.99热这里只有精品| 午夜激情影院在线观看| 香蕉视频禁止18| 黄色高清无遮挡| 日本女优爱爱视频| 天堂在线资源视频| 久久久性生活视频| 成人av在线播放观看| 久久久久免费看黄a片app| 日韩av片网站| 一本—道久久a久久精品蜜桃| 激情在线观看视频| 欧美性受xxxx黑人猛交88| 国产在线拍揄自揄拍无码| 精品少妇人欧美激情在线观看| 欧美日韩在线中文| 色婷婷一区二区三区在线观看| 久久久久久久少妇| 日本精品一区在线| av之家在线观看| 国产 日韩 欧美在线| 欧美色图色综合| 中文字幕欧美人妻精品一区| 国产精品欧美激情在线观看| 可以在线看的黄色网址| 尤物国产在线观看| 亚洲欧美日韩综合网| 香蕉视频xxxx| 成年人网站国产| youjizzxxxx18| 成人网站免费观看入口| 免费久久久久久| 蜜臀av.com| 久久久99精品视频| 在线黄色免费看| 无码人妻丰满熟妇区毛片18| 一本—道久久a久久精品蜜桃| 国产精品亚洲二区在线观看| 91亚洲一区二区| 夜夜爽久久精品91| 蜜臀av免费观看| aa在线免费观看| 日本免费色视频| 亚洲小视频网站| 国产中文字幕在线免费观看| 91免费视频黄| 日本特级黄色大片| 日本一区二区三区四区五区六区| 亚洲成人动漫在线| 亚洲第一区第二区第三区| 日韩手机在线观看视频| 日韩欧美xxxx| 香蕉视频免费版| 欧美在线aaa| 夜夜夜夜夜夜操| 北条麻妃亚洲一区| 欧洲黄色一级视频| 成人性生活视频免费看| 特级西西444| 国产成人精品无码播放| 91免费网站视频| 欧美黄网站在线观看| 无码人妻精品一区二区蜜桃百度| 国产三级国产精品国产专区50| 国产成人久久婷婷精品流白浆| 性一交一乱一伧国产女士spa| 浮妇高潮喷白浆视频| 亚洲 欧美 综合 另类 中字| 国产精品999视频| 虎白女粉嫩尤物福利视频| 天天视频天天爽| 中文字幕国内自拍| 亚洲熟妇av一区二区三区| 老司机午夜性大片| 欧美性猛交久久久乱大交小说| a在线视频观看| 国产精品第157页| 成人观看免费完整观看| 400部精品国偷自产在线观看 | 分分操这里只有精品| 内射国产内射夫妻免费频道| 国产极品尤物在线| 日本熟妇人妻中出| 免费av手机在线观看| 日本中文字幕观看| 99er在线视频| 污版视频在线观看| 亚洲综合色在线观看| www.cao超碰| 少妇人妻在线视频| 在线免费看v片|