【PyQt5】Day 30 – final project – 3 / 來搞一個自己的 photoshop 吧!把每個方法封裝起來製作出還原功能吧! (結合 PyQt + OpenCV)Howard Weng2021 年 10 月 15 日047 - 13th 鐵人賽 – 【今年還是不夠錢買psQQ,不如我們用PyQt自己寫一個】, 132 - PyQt51 則留言內容目錄 Toggle看完這篇文章你會得到的成果圖此篇文章的範例程式碼 github複習之前的內容 (前情提要)獨立「圖像本身」與「圖像處理方法」,額外設計圖像處理介面。介面設計與繼承方法套用 design pattern 後 (使用 Interface Segregation Principle(ISP) 介面隔離原則)我們在 day29 的時候,介紹了每個功能的實作細節今天我們要來談封裝方法,建構出「步驟的流程」分析「還原」或「重做」的功能,別人是怎麼做出來的?保存圖片流保存方法流 (保存變化量)介面微更新實作保存方法的機制因為介面繼承的關係,我們可以輕鬆地增加記錄功能結果【問題】然而,光是這樣的架構還不足以我們實現「還原」或「重做」1. 還原上一步時,該如何復原目前圖片的變更?2. 還原上一步時,哪些畫面上的零件也需要還原?3. 滑條對應的內容,是「一個 instance」 而不是 「new 一個新的 instance」預期未來解決問題的方法優化效能【修改】我們暫時先移除,隨著滑條圖片一起變動的功能修改程式碼部分最終結果優化部分實現「還原」或「重做」功能的部分最終成品!30天的結語Reference看完這篇文章你會得到的成果圖此篇文章的範例程式碼 githubhttps://github.com/howarder3/ironman2021_PyQt5_photoshop/tree/main/day30_final_project_package_method複習之前的內容 (前情提要)完整版請參考: