告别付费套路!PhotoLab:开源免费的全功能桌面图片工作站,解锁所有核心能力

本文介绍开源 desktop 应用 PhotoLab Pro:以 PyQt6+OpenCV+Pillow 实现单窗口五大模块(交互编辑、拼图、JPEG 批量压缩、图片转 PDF、高级批处理/宏)。文章说明各模块能力与快捷键体系,并给出克隆仓库、虚拟环境与运行 main.py 的步骤,以及后续 AI 功能与跨端规划。


前言

日常处理图片时,你是否总陷入这样的困境:想压缩几张JPEG图,找到的工具要么按文件数收费,要么压缩后画质模糊;想拼一张多图排版的长图,免费版强制加水印,无水印导出要开VIP;想把图片转成PDF存档,要么只支持单张转换,要么批量功能藏在付费套餐里;想简单修个图(调亮度、加马赛克、裁剪),得安装体积庞大的付费软件,还得学习复杂的操作逻辑……更糟的是,不同需求要切换多款工具,文件来回导入导出,效率低还容易丢失。

正是为了打破“碎片化付费”“工具割裂”的行业痛点,博主开发了PhotoLab Pro——一款基于PyQt6、OpenCV和Pillow等构建的开源免费桌面图片工作站。1.0版本已整合五大核心模块,覆盖从单图精细编辑批量处理、格式转换、拼图排版、PDF导出的全流程需求,无广告、无VIP、无功能阉割,所有核心能力开箱即用。

在这里插入图片描述

在这里插入图片描述

免费、开源、全场景功能无死角

1. 100%免费开源,无任何套路

PhotoLab Pro全程无广告、无付费墙,所有功能(包括批量处理、高级编辑、无水印导出)均免费开放;项目代码完全开源(GitHub地址见文末),基于MIT许可证分发,你可自由查看、审计、二次开发,无需担心隐私泄露或恶意代码——从图片IO到编辑逻辑,从批量处理到PDF导出,每一行代码都透明可追溯。

在这里插入图片描述

2. 单窗口集成五大核心模块,覆盖所有高频图片处理场景

不同于市面上“单一功能凑数”的工具,PhotoLab Pro以“一站式图片工作站”为定位,1.0版本整合五大核心模块,且所有模块深度联动,无需切换软件即可完成全流程处理:

模块1:交互式图像编辑器(Ctrl+1)——精细编辑无短板

这是PhotoLab Pro的核心模块,覆盖从基础操作到专业级增强的全维度编辑能力,且支持完整的撤销/重做、宏录制功能:

  • 文件管理:支持PNG、JPEG、BMP、TIFF、WebP等主流格式的打开/保存,内置“最近文件”列表(最多存储12条路径),可一键清空;保存时自动兼容原格式,Alpha通道自动归一化处理,避免格式转换丢失信息。
  • 视图与导航:一键“适配窗口”(Ctrl+0),鼠标滚轮缩放、中键拖拽平移(缩放后),画布基于Qt Graphics View构建,支持拖拽导入图片,操作流畅无卡顿。
  • 几何操作:支持90°步进的顺时针/逆时针旋转、水平/垂直翻转,每一步操作均计入撤销栈,且可被宏录制捕获,批量处理时复用。
  • 专业编辑工具
    • 画笔工具:支持自定义颜色/尺寸,绘制轨迹实时渲染,松开鼠标自动提交至画布,操作记录可编码为JSON宏(包含线段、BGR颜色、半径等参数);
    • 马赛克工具:沿绘制轨迹生成马赛克效果,可自定义块大小,同样支持宏录制(mosaic_stroke参数);
    • 裁剪工具:拖拽橙色虚线框选定区域,菜单/快捷键确认裁剪,裁剪参数可存入宏,批量处理时统一应用。
  • 图像增强(实时预览):右侧面板提供8大可调参数滑块,支持亮度、对比度、饱和度、锐化、色调、曝光、色温、降噪的精细化调节,大尺寸图片自动降采样实时预览(预览策略可配置),点击“应用”后以全分辨率生效,所有参数均计入撤销栈和宏记录(adjustment类型,参数字典完整留存)。
  • 创意滤镜:内置“黑白滤镜”(强调对比度的去饱和效果),后续版本将扩展更多滤镜,滤镜应用同样支持撤销和宏录制。
  • 宏录制与导出:可记录当前会话中的所有可编辑操作,导出为JSON格式的宏文件,供“高级批量处理”模块复用,实现“一次编辑、批量套用”。

在这里插入图片描述

模块2:拼图布局模块(Ctrl+2)——多布局无水印导出

告别拼图工具的水印和格式限制,PhotoLab Pro的拼图模块支持多种布局方式,且可直接将拼图结果发送到编辑器继续加工:

  • 布局类型:网格布局、垂直/水平长条布局、自由布局(自定义图片位置和大小);
  • 操作便捷性:支持多图批量导入,可调整图片间距、背景色,导出无水印,且导出后可一键发送到“图像编辑器”模块,继续进行裁剪、增强等操作。

在这里插入图片描述

模块3:JPEG批量压缩模块(Ctrl+3)——高效兼顾画质

针对JPEG格式的批量压缩需求,专门优化参数控制,兼顾压缩效率和画质:

  • 自定义参数:可设置压缩质量(0-100)、可选“最大边缘尺寸”(自动等比例缩放);
  • 输出策略:所有压缩文件输出到扁平文件夹,避免原文件夹层级混乱,批量处理时无需手动整理路径。‘

在这里插入图片描述

模块4:高级批量处理模块(Ctrl+5)——自动化处理天花板

1.0版本的“高级批量”模块远超普通工具的“批量转换”,支持宏复用、多格式导出、冲突处理等高级能力:

  • 宏支持:导入“图像编辑器”导出的JSON宏文件,批量套用编辑操作(如统一裁剪、调亮度、加马赛克);
  • 多格式导出:支持JPEG、WebP、PNG三种主流格式,可自定义每种格式的导出参数;
  • 路径与冲突策略:支持“镜像路径”(保留原文件夹层级),可配置文件冲突策略(覆盖/跳过/重命名);
  • 试运行模式:先模拟批量处理流程,输出作业列表,确认无误后再执行,避免误操作;
  • 作业列表导出:可将批量处理任务导出为文件,方便复盘或二次执行。

在这里插入图片描述

模块5:图片转PDF模块(Ctrl+4)——灵活适配不同场景

基于Pillow实现图片到PDF的转换,支持两种核心模式:

  • 合并模式:将多张图片合并为单个PDF文件,可自定义页面尺寸、图片排序;
  • 单图单PDF模式:每张图片生成独立的PDF文件,适合批量归档单张图片(如证件照、扫描件);
  • 输出稳定性:兼容所有编辑器支持的图片格式,导出的PDF可直接打印、分享,无格式兼容问题。

在这里插入图片描述

3. 易用性拉满:快捷键+单窗口+轻量依赖

  • 快捷键体系:五大模块可通过Ctrl+1~Ctrl+5快速切换,核心操作(打开/保存/撤销/适配窗口)均有专属快捷键,大幅提升操作效率;
  • 单窗口交互:所有功能集成在一个窗口,模块切换无需重启,图片在不同模块间流转无损耗(如拼图结果直接送编辑器);
  • 轻量依赖:仅需Python 3.10+环境,安装requirements.txt中的依赖即可运行(无复杂编译依赖),Windows为主要测试平台,Linux/macOS可无缝兼容,还提供打包好的桌面安装包,无需配置环境,下载即装即用。

在这里插入图片描述

技术栈:轻量且专业,兼顾性能与扩展性

PhotoLab Pro的技术选型兼顾“易用性”和“专业性”:

  • 前端交互:基于PyQt6构建,深色主题界面,符合专业图片工具的视觉习惯,所有面板/工具栏可自定义布局;
  • 图像处理核心:整合OpenCV(底层图像计算)、Pillow(格式IO、PDF导出)、NumPy(数组运算),兼顾处理速度和精度;
  • 工程化设计:代码按功能模块化拆分(utils/处理工具、ui/界面、core/核心逻辑),异常捕获、多线程处理(workers/)、预览策略(preview_policy.py)等细节完善,为后续迭代打下基础。

后续规划:1.0只是起点,智能+跨平台+场景化是核心方向

PhotoLab Pro 1.0版本已实现“全功能可用”,后续将围绕“智能化、跨平台、场景化”持续迭代:

短期迭代(2.0版本)

  1. 扩展编辑能力:新增AI抠图、老照片修复、批量水印(文字/图片)、格式批量转换(覆盖更多格式);
  2. 优化批量处理:支持文件夹级别的递归处理,新增“批量重命名”“批量裁剪到固定尺寸”等高频需求;
  3. 跨平台适配:完善macOS/Linux的兼容性,开发移动端(Android/iOS)和网页版,实现“多端同步操作”;
  4. 滤镜与模板:新增复古、胶片、日系等创意滤镜,针对自媒体(公众号封面)、办公(简历排版)、学习(课件优化)等场景预设拼图/编辑模板。

长期规划

  1. 内置智能Agent:接入轻量级开源AI模型,实现“自然语言指令式处理”——例如输入“将文件夹内所有旅行照片压缩到2M以内,拼成16:9长图,添加‘2024旅行纪念’文字水印,转PDF归档”,Agent自动拆解任务、调用对应模块完成全流程;
  2. 云端协作:接入轻量开源云存储,支持多设备同步图片和处理记录,实现多人协作编辑;
  3. 插件系统:开放插件接口,支持社区开发自定义工具/滤镜/宏模板,丰富生态。

如何快速上手PhotoLab Pro?

环境要求

  • Python 3.10+(推荐3.10,Windows平台经全面测试,Linux/macOS需确保依赖安装完整);
  • 无额外系统依赖,仅需安装项目requirements.txt中的Python包。

安装与运行

# 克隆仓库
git clone https://github.com/ChenAI-TGF/PhotoLab
cd PhotoLab

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境(Windows)
.venv\Scripts\activate
# Linux/macOS
# source .venv/bin/activate

# 安装依赖
pip install -r requirements.txt

# 启动应用
python main.py

也可直接下载打包好的桌面安装包(无环境配置,下载即装即用),启动后窗口标题会显示当前模块名称、打开的文件名,以及未保存修改的标记(*),操作直观易懂。

参与开源贡献

PhotoLab Pro欢迎所有开发者参与共建:

  • 提交Issue:反馈Bug、提出功能建议、讨论使用问题;
  • 提交PR:Fork仓库后优化代码、新增功能、修复Bug,我会及时审核合并;
  • 完善文档:补充使用教程、翻译README、制作操作演示视频;
  • 技术交流:加入项目交流群,讨论PyQt6、OpenCV等技术在图片处理中的应用。

写在最后

PhotoLab Pro的诞生,源于对“图片处理工具应普惠、易用、全面”的执念——我们不该为基础的图片编辑、批量处理、格式转换反复付费,也不该忍受多款工具切换的低效。

1.0版本只是一个起点,我希望通过开源的方式,汇聚社区的力量,让PhotoLab Pro成为真正覆盖个人、小微企业全场景需求的图片工作站。如果你也受够了付费套路和碎片化工具,不妨试试PhotoLab Pro,也期待你能为项目提出建议、贡献代码,让这款工具变得更完善。

🔗 项目GitHub地址:https://github.com/ChenAI-TGF/PhotoLab
📝 项目更新日志:CHANGELOG.md
📄 许可证:MIT License(自由使用、修改、分发)

如果大家觉得有用的话,欢迎帮我点一个Star!万分感谢

告別付費套路!PhotoLab:開源免費的全功能桌面圖片工作站,解鎖所有核心能力

本文介紹開源 desktop 應用 PhotoLab Pro:以 PyQt6+OpenCV+Pillow 實現單窗口五大模塊(交互編輯、拼圖、JPEG 批量壓縮、圖片轉 PDF、高級批處理/宏)。文章說明各模塊能力與快捷鍵體系,並給出克隆倉庫、虛擬環境與運行 main.py 的步驟,以及後續 AI 功能與跨端規劃。

來源:https://blog.csdn.net/2403_87969572/article/details/159770205

抓取時間(ISO本地):2026-05-18 05:17:35


前言

日常處理圖片時,你是否總陷入這樣的困境:想壓縮幾張JPEG圖,找到的工具要麼按檔案數收費,要麼壓縮後畫質模糊;想拼一張多圖排版的長圖,免費版強制加水印,無水印匯出要開VIP;想把圖片轉成PDF存檔,要麼只支援單張轉換,要麼批次功能藏在付費套餐裡;想簡單修個圖(調亮度、加馬賽克、裁剪),得安裝體積龐大的付費軟體,還得學習複雜的操作邏輯……更糟的是,不同需求要切換多款工具,檔案來回匯入匯出,效率低還容易丟失。

正是為了打破“碎片化付費”“工具割裂”的行業痛點,博主開發了PhotoLab Pro——一款基於PyQt6、OpenCV和Pillow等構建的開源免費桌面圖片工作站。1.0版本已整合五大核心模組,覆蓋從單圖精細編輯批次處理、格式轉換、拼圖排版、PDF匯出的全流程需求,無廣告、無VIP、無功能閹割,所有核心能力開箱即用。

在這裡插入圖片描述

在這裡插入圖片描述

免費、開源、全場景功能無死角

1. 100%免費開源,無任何套路

PhotoLab Pro全程無廣告、無付費牆,所有功能(包括批次處理、高階編輯、無水印匯出)均免費開放;專案程式碼完全開源(GitHub地址見文末),基於MIT許可證分發,你可自由檢視、審計、二次開發,無需擔心隱私洩露或惡意程式碼——從圖片IO到編輯邏輯,從批次處理到PDF匯出,每一行程式碼都透明可追溯。

在這裡插入圖片描述

2. 單視窗整合五大核心模組,覆蓋所有高頻圖片處理場景

不同於市面上“單一功能湊數”的工具,PhotoLab Pro以“一站式圖片工作站”為定位,1.0版本整合五大核心模組,且所有模組深度聯動,無需切換軟體即可完成全流程處理:

模組1:互動式影象編輯器(Ctrl+1)——精細編輯無短板

這是PhotoLab Pro的核心模組,覆蓋從基礎操作到專業級增強的全維度編輯能力,且支援完整的撤銷/重做、宏錄製功能:

  • 檔案管理:支援PNG、JPEG、BMP、TIFF、WebP等主流格式的開啟/儲存,內建“最近檔案”列表(最多儲存12條路徑),可一鍵清空;儲存時自動相容原格式,Alpha通道自動歸一化處理,避免格式轉換丟失資訊。
  • 檢視與導航:一鍵“適配視窗”(Ctrl+0),滑鼠滾輪縮放、中鍵拖拽平移(縮放後),畫布基於Qt Graphics View構建,支援拖拽匯入圖片,操作流暢無卡頓。
  • 幾何操作:支援90°步進的順時針/逆時針旋轉、水平/垂直翻轉,每一步操作均計入撤銷棧,且可被宏錄製捕獲,批次處理時複用。
  • 專業編輯工具
    • 畫筆工具:支援自定義顏色/尺寸,繪製軌跡實時渲染,鬆開滑鼠自動提交至畫布,操作記錄可編碼為JSON宏(包含線段、BGR顏色、半徑等引數);
    • 馬賽克工具:沿繪製軌跡生成馬賽克效果,可自定義塊大小,同樣支援宏錄製(mosaic_stroke引數);
    • 裁剪工具:拖拽橙色虛線框選定區域,選單/快捷鍵確認裁剪,裁剪引數可存入宏,批次處理時統一應用。
  • 影象增強(實時預覽):右側面板提供8大可調引數滑塊,支援亮度、對比度、飽和度、銳化、色調、曝光、色溫、降噪的精細化調節,大尺寸圖片自動降取樣實時預覽(預覽策略可配置),點選“應用”後以全解析度生效,所有引數均計入撤銷棧和宏記錄(adjustment型別,引數字典完整留存)。
  • 創意濾鏡:內建“黑白濾鏡”(強調對比度的去飽和效果),後續版本將擴充套件更多濾鏡,濾鏡應用同樣支援撤銷和宏錄製。
  • 宏錄製與匯出:可記錄當前會話中的所有可編輯操作,匯出為JSON格式的宏檔案,供“高階批次處理”模組複用,實現“一次編輯、批次套用”。

在這裡插入圖片描述

模組2:拼圖佈局模組(Ctrl+2)——多佈局無水印匯出

告別拼圖工具的水印和格式限制,PhotoLab Pro的拼圖模組支援多種佈局方式,且可直接將拼圖結果傳送到編輯器繼續加工:

  • 佈局型別:網格佈局、垂直/水平長條佈局、自由佈局(自定義圖片位置和大小);
  • 操作便捷性:支援多圖批次匯入,可調整圖片間距、背景色,匯出無水印,且匯出後可一鍵傳送到“影象編輯器”模組,繼續進行裁剪、增強等操作。

在這裡插入圖片描述

模組3:JPEG批次壓縮模組(Ctrl+3)——高效兼顧畫質

針對JPEG格式的批次壓縮需求,專門最佳化引數控制,兼顧壓縮效率和畫質:

  • 自定義引數:可設定壓縮質量(0-100)、可選“最大邊緣尺寸”(自動等比例縮放);
  • 輸出策略:所有壓縮檔案輸出到扁平資料夾,避免原資料夾層級混亂,批次處理時無需手動整理路徑。‘

在這裡插入圖片描述

模組4:高階批次處理模組(Ctrl+5)——自動化處理天花板

1.0版本的“高階批次”模組遠超普通工具的“批次轉換”,支援宏複用、多格式匯出、衝突處理等高階能力:

  • 宏支援:匯入“影象編輯器”匯出的JSON宏檔案,批次套用編輯操作(如統一裁剪、調亮度、加馬賽克);
  • 多格式匯出:支援JPEG、WebP、PNG三種主流格式,可自定義每種格式的匯出引數;
  • 路徑與衝突策略:支援“映象路徑”(保留原資料夾層級),可配置檔案衝突策略(覆蓋/跳過/重新命名);
  • 試執行模式:先模擬批次處理流程,輸出作業列表,確認無誤後再執行,避免誤操作;
  • 作業列表匯出:可將批次處理任務匯出為檔案,方便覆盤或二次執行。

在這裡插入圖片描述

模組5:圖片轉PDF模組(Ctrl+4)——靈活適配不同場景

基於Pillow實現圖片到PDF的轉換,支援兩種核心模式:

  • 合併模式:將多張圖片合併為單個PDF檔案,可自定義頁面尺寸、圖片排序;
  • 單圖單PDF模式:每張圖片生成獨立的PDF檔案,適合批次歸檔單張圖片(如證件照、掃描件);
  • 輸出穩定性:相容所有編輯器支援的圖片格式,匯出的PDF可直接列印、分享,無格式相容問題。

在這裡插入圖片描述

3. 易用性拉滿:快捷鍵+單視窗+輕量依賴

  • 快捷鍵體系:五大模組可透過Ctrl+1~Ctrl+5快速切換,核心操作(開啟/儲存/撤銷/適配視窗)均有專屬快捷鍵,大幅提升操作效率;
  • 單視窗互動:所有功能整合在一個視窗,模組切換無需重啟,圖片在不同模組間流轉無損耗(如拼圖結果直接送編輯器);
  • 輕量依賴:僅需Python 3.10+環境,安裝requirements.txt中的依賴即可執行(無複雜編譯依賴),Windows為主要測試平臺,Linux/macOS可無縫相容,還提供打包好的桌面安裝包,無需配置環境,下載即裝即用。

在這裡插入圖片描述

技術棧:輕量且專業,兼顧效能與擴充套件性

PhotoLab Pro的技術選型兼顧“易用性”和“專業性”:

  • 前端互動:基於PyQt6構建,深色主題介面,符合專業圖片工具的視覺習慣,所有面板/工具欄可自定義佈局;
  • 影象處理核心:整合OpenCV(底層影象計算)、Pillow(格式IO、PDF匯出)、NumPy(陣列運算),兼顧處理速度和精度;
  • 工程化設計:程式碼按功能模組化拆分(utils/處理工具、ui/介面、core/核心邏輯),異常捕獲、多執行緒處理(workers/)、預覽策略(preview_policy.py)等細節完善,為後續迭代打下基礎。

後續規劃:1.0只是起點,智慧+跨平臺+場景化是核心方向

PhotoLab Pro 1.0版本已實現“全功能可用”,後續將圍繞“智慧化、跨平臺、場景化”持續迭代:

短期迭代(2.0版本)

  1. 擴充套件編輯能力:新增AI摳圖、老照片修復、批次水印(文字/圖片)、格式批次轉換(覆蓋更多格式);
  2. 最佳化批次處理:支援資料夾級別的遞迴處理,新增“批次重新命名”“批次裁剪到固定尺寸”等高頻需求;
  3. 跨平臺適配:完善macOS/Linux的相容性,開發移動端(Android/iOS)和網頁版,實現“多端同步操作”;
  4. 濾鏡與模板:新增復古、膠片、日系等創意濾鏡,針對自媒體(公眾號封面)、辦公(簡歷排版)、學習(課件最佳化)等場景預設拼圖/編輯模板。

長期規劃

  1. 內建智慧Agent:接入輕量級開源AI模型,實現“自然語言指令式處理”——例如輸入“將資料夾內所有旅行照片壓縮到2M以內,拼成16:9長圖,新增‘2024旅行紀念’文字水印,轉PDF歸檔”,Agent自動拆解任務、呼叫對應模組完成全流程;
  2. 雲端協作:接入輕量開源雲端儲存,支援多裝置同步圖片和處理記錄,實現多人協作編輯;
  3. 外掛系統:開放外掛介面,支援社群開發自定義工具/濾鏡/宏模板,豐富生態。

如何快速上手PhotoLab Pro?

環境要求

  • Python 3.10+(推薦3.10,Windows平臺經全面測試,Linux/macOS需確保依賴安裝完整);
  • 無額外系統依賴,僅需安裝專案requirements.txt中的Python包。

安裝與執行

# 克隆倉庫
git clone https://github.com/ChenAI-TGF/PhotoLab
cd PhotoLab

# 建立虛擬環境
python -m venv .venv

# 啟用虛擬環境(Windows)
.venv\Scripts\activate
# Linux/macOS
# source .venv/bin/activate

# 安裝依賴
pip install -r requirements.txt

# 啟動應用
python main.py

也可直接下載打包好的桌面安裝包(無環境配置,下載即裝即用),啟動後視窗標題會顯示當前模組名稱、開啟的檔名,以及未儲存修改的標記(*),操作直觀易懂。

參與開源貢獻

PhotoLab Pro歡迎所有開發者參與共建:

  • 提交Issue:反饋Bug、提出功能建議、討論使用問題;
  • 提交PR:Fork倉庫後最佳化程式碼、新增功能、修復Bug,我會及時稽核合併;
  • 完善文件:補充使用教程、翻譯README、製作操作演示影片;
  • 技術交流:加入專案交流群,討論PyQt6、OpenCV等技術在圖片處理中的應用。

寫在最後

PhotoLab Pro的誕生,源於對“圖片處理工具應普惠、易用、全面”的執念——我們不該為基礎的圖片編輯、批次處理、格式轉換反覆付費,也不該忍受多款工具切換的低效。

1.0版本只是一個起點,我希望透過開源的方式,匯聚社群的力量,讓PhotoLab Pro成為真正覆蓋個人、小微企業全場景需求的圖片工作站。如果你也受夠了付費套路和碎片化工具,不妨試試PhotoLab Pro,也期待你能為專案提出建議、貢獻程式碼,讓這款工具變得更完善。

🔗 專案GitHub地址:https://github.com/ChenAI-TGF/PhotoLab
📝 專案更新日誌:CHANGELOG.md
📄 許可證:MIT License(自由使用、修改、分發)

如果大家覺得有用的話,歡迎幫我點一個Star!萬分感謝

Skip the paywall—PhotoLab: an open-source, free desktop imaging workstation

Everyday imaging tasks keep bumping into the same walls: JPEG compressors billed per file; collages watermarked unless you subscribe; PDF export either single-file only or buried in a paid tier; light edits forcing giant proprietary suites… and jumping between apps loses time and provenance. PhotoLab Pro—built with PyQt6, OpenCV, Pillow—targets that fragmentation.

Captured at (ISO local): 2026-05-18 05:17:35


Foreword

Everyday imaging tasks keep bumping into the same walls: JPEG compressors billed per file; collages watermarked unless you subscribe; PDF export either single-file only or buried in a paid tier; light edits forcing giant proprietary suites… and jumping between apps loses time and provenance.

PhotoLab Pro—built with PyQt6, OpenCV, Pillow—targets that fragmentation. Version 1.0 bundles five modules from precision edits to batch processing, layout, format conversion, and PDF export, no ads, no paywalled “pro mode”, no gutted features.

Image description

Image description

Free, open, full-spectrum

1) 100% free & open

No ads, no license walls: batch tools, advanced editing, watermark-free export are all included. MIT-licensed source on GitHub—inspect from IO through UI; nothing hidden.

Image description

2) Five modules in one window

Module 1 — Interactive editor (Ctrl+1)
  • Files: PNG/JPEG/BMP/TIFF/WebP open/save; recent list (12 entries); format-safe save with alpha handling.
  • View: fit-to-window (Ctrl+0), wheel zoom, middle-mouse pan on the graphics canvas; drag-in imports.
  • Geometry: 90° rotations, flips—undo/redo + macro capture.
  • Tools: brush (color/size, JSON-encodable strokes), mosaic along paths (mosaic_stroke), crop with dashed frame + confirmation—macros remember parameters.
  • Tuning (live preview): brightness, contrast, saturation, sharpen, hue, exposure, temperature, denoise; downsampled preview on huge images, full-res apply; state lands in undo + macros (adjustment payloads).
  • Filters: black & white (high-contrast desat) now; more planned—also undo/macro aware.
  • Macros: record the session to JSON and replay in Advanced Batch.

Image description

Module 2 — Collage/layout (Ctrl+2)

Grid / horizontal-vertical strips / free placement; spacing & background color; export without watermark; send results back to the editor for finishing passes.

Image description

Module 3 — JPEG batch compression (Ctrl+3)

Quality 0–100, optional max edge to downscale; flat output folder to avoid messy hierarchies.

Image description

Module 4 — Advanced batch (Ctrl+5)
  • Import editor JSON macros to reuse edits at scale
  • Export JPEG/WebP/PNG with per-format parameters
  • Mirror source tree, conflict policy (overwrite/skip/rename)
  • Dry-run job listing before destructive work
  • Export job manifests for audit/replays

Image description

Module 5 — Images → PDF (Ctrl+4)
  • Merge: multi-image single PDF with page sizing/order
  • One PDF per image: great for scans/IDs
  • Stable output suitable for print/share across editor-supported formats

Image description

3) UX: shortcuts + single window + light deps

Ctrl+1…5 share modules without relaunching; heavy work threaded (workers/), preview policy centralized (preview_policy.py). Primarily tested on Windows; Linux/macOS expected to work with the same requirements; installers available for users without Python.

Image description

Stack

  • UI: PyQt6, dark theme, dockable panels/toolbars
  • Imaging: OpenCV + Pillow + NumPy
  • Layout: modular utils/, ui/, core/

Roadmap (short)

AI cutout & restoration, batch watermarks, deeper format matrix, recursive folders, rename templates, stronger macOS/Linux polish, creative filters/templates for content creators.

Longer term

Lightweight on-device agents for natural-language batch recipes; light cloud sync; plugin SDK for community extensions.

Quick start

Requirements: Python 3.10+ (3.10 recommended on Windows).

git clone https://github.com/ChenAI-TGF/PhotoLab
cd PhotoLab

python -m venv .venv
.venv\Scripts\activate          # Windows
# source .venv/bin/activate     # Linux/macOS

pip install -r requirements.txt
python main.py

Installers also ship for “download and run”. Window title shows module, filename, and * when dirty.

Contributing

Issues for bugs/ideas, PRs welcome, docs/video contributions appreciated.

Closing

PhotoLab Pro is built on the belief imaging utilities should be accessible, unified, and honest. v1.0 is the starting line—community input will steer what comes next.

GitHub: https://github.com/ChenAI-TGF/PhotoLab

CHANGELOG ships in-repo; MIT License.

If the project helps, stars are welcome—thanks for supporting OSS tooling.