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一区二区
深爱五月综合网| 日本a视频在线观看| 永久免费看av| xxww在线观看| 99热手机在线| 99视频免费播放| 日本精品一区二区三区四区| 国产中文字幕免费观看| 99视频精品免费| 三区视频在线观看| 91网站在线观看免费| 日本福利视频网站| 乱熟女高潮一区二区在线| 亚洲a级黄色片| 日日噜噜噜夜夜爽爽| 好吊色视频988gao在线观看| www.av毛片| 国语对白做受xxxxx在线中国| 热久久精品免费视频| 性欧美1819| 人妻无码一区二区三区四区| 高清无码一区二区在线观看吞精| 成人区一区二区| 免费在线观看日韩视频| 天天综合网久久| 精品人妻大屁股白浆无码| 东北少妇不带套对白| 国产 porn| 国产91在线视频观看| 日韩手机在线观看视频| 日本一本在线视频| 天堂…中文在线最新版在线| 男女无套免费视频网站动漫| 免费观看黄色的网站| 青青草成人免费在线视频| 日本xxxx黄色| 欧美一级欧美一级| 狠狠操狠狠干视频| 无码精品国产一区二区三区免费| 一本之道在线视频| 国产成人精品视频ⅴa片软件竹菊| 天天干天天曰天天操| 日本a视频在线观看| 在线能看的av网站| 香港三级韩国三级日本三级| 特级西西人体www高清大胆| 国内外成人激情视频| 中文字幕在线中文| 岛国av免费在线| 欧美日韩在线不卡视频| 日韩精品福利片午夜免费观看| 精品少妇无遮挡毛片| 少妇性饥渴无码a区免费| 青青视频免费在线观看| 五月婷婷激情久久| 999精品视频在线| 777米奇影视第四色| 久久久久久www| 日本一道在线观看| 毛片在线视频观看| 久久久99精品视频| 国产 欧美 日本| 99在线免费视频观看| 免费观看黄色的网站| 天天干天天色天天爽| 日韩video| 亚洲成人手机在线观看| 午夜免费高清视频| 日韩一区二区三区久久| www.99在线| 久国产精品视频| 四虎1515hh.com| 男女h黄动漫啪啪无遮挡软件| 黄色一级片免费的| 亚洲视频在线不卡| 欧美 亚洲 视频| 国产精品国产亚洲精品看不卡| 久久手机在线视频| 亚洲欧美日韩综合网| 欧美性猛交xxx乱久交| 欧美三级理论片| 99精品一级欧美片免费播放| 久久观看最新视频| 岳毛多又紧做起爽| 五月激情五月婷婷| 亚洲精品国产suv一区88| 欧美视频在线观看网站| 黄色在线视频网| 成年人黄色在线观看| 国产原创popny丨九色| 国内外成人激情视频| 97超碰人人爽| a在线视频观看| 亚洲天堂伊人网| 精品视频一区二区在线| 久久精品免费网站| 亚洲色婷婷久久精品av蜜桃| 老太脱裤让老头玩ⅹxxxx| 日韩在线第三页| 色爽爽爽爽爽爽爽爽| 欧美激情精品久久久久久小说| 亚洲一区二区福利视频| 日韩精品第1页| 妞干网在线免费视频| 欧美 日韩 国产精品| 色悠悠久久综合网| 成人性生活视频免费看| 五月天中文字幕在线| 国产精品欧美激情在线观看| av磁力番号网| 91插插插插插插插插| 男女激情无遮挡| 久久观看最新视频| aaaaaaaa毛片| 日韩爱爱小视频| 亚洲午夜精品久久久久久人妖| 亚洲五月激情网| 午夜免费福利在线| 人妻少妇被粗大爽9797pw| 日韩专区第三页| 国产在线拍揄自揄拍无码| 精品亚洲一区二区三区四区| 久艹在线免费观看| 国产精品h视频| 九一精品久久久| 日本中文字幕观看| 欧美第一页浮力影院| 免费观看成人在线视频| 久章草在线视频| 那种视频在线观看| 国产成人亚洲精品无码h在线 | 亚洲欧美天堂在线| 色播五月激情五月| 不卡的av中文字幕| 精品久久久99| 欧美精品色视频| 亚洲色婷婷久久精品av蜜桃| 99久久久无码国产精品性色戒| 九九热视频免费| 在线视频一二三区| 日本阿v视频在线观看| 日韩小视频网站| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 丰满少妇大力进入| 日本老熟妇毛茸茸| 九九精品久久久| 26uuu成人| 九九爱精品视频| 不卡av免费在线| 91免费视频黄| 国产中文字幕视频在线观看| 成人一级片网站| 久久久久xxxx| avav在线播放| 亚洲视频在线a| 欧洲xxxxx| a在线视频观看| 亚洲天堂av一区二区| 国产一级片91| 午夜在线观看av| 日韩人妻一区二区三区蜜桃视频| 日韩a级在线观看| 男女啪啪网站视频| 欧美a级免费视频| 超碰网在线观看| 日本美女爱爱视频| 一本久道综合色婷婷五月| 在线免费黄色小视频| 无码av天堂一区二区三区| 天天干天天干天天干天天干天天干| 日韩在线不卡一区| 日本免费不卡一区二区| 91女神在线观看| 男人操女人免费软件| 久久天天东北熟女毛茸茸| 国产91在线视频观看| 激情成人开心网| 中文字幕国产免费| 日韩精品一区二区三区不卡| 国产91在线亚洲| 亚洲第一综合网站| 久久国产激情视频| xxxx一级片| 任你操这里只有精品| 欧美一区二区激情| 青少年xxxxx性开放hg| 亚洲少妇第一页| 成人在线观看黄| 国产在线播放观看| 欧美在线观看黄| 欧美日韩久久婷婷| 日韩在线一区视频| 亚洲图色中文字幕| 在线黄色免费观看| 亚洲第一狼人区| 日日噜噜夜夜狠狠| 欧美男女交配视频| 午夜一级免费视频| 日本高清免费观看| 国产系列第一页|