Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
be6542c
feat: implement functional tool panels with real processing
DandelionBold Sep 28, 2025
1a1ae11
fix: resolve import and threading issues
DandelionBold Sep 28, 2025
0752c92
feat: add 4 more functional tool panels
DandelionBold Sep 28, 2025
6507019
feat: create specialized rearrange tool with frame preview and drag-a…
DandelionBold Sep 28, 2025
57d823f
feat: improve rearrange tool with vertical scrolling and range selection
DandelionBold Sep 28, 2025
c468813
fix: resolve frame loading and file selection issues
DandelionBold Sep 28, 2025
fb2249d
feat: add mouse wheel scrolling, resizable window, and drop zone
DandelionBold Sep 28, 2025
315e67b
feat: add dynamic columns and improved drop zone with 3 options
DandelionBold Sep 28, 2025
d8e9be1
fix: frame selection after rearrange operations
DandelionBold Sep 28, 2025
d5e44b3
feat: add grid index to frame labels
DandelionBold Sep 28, 2025
d7c57de
fix: improve GIF frame rearrangement to preserve all frames
DandelionBold Sep 28, 2025
dae5192
fix: disable optimization in image processor and add debug info
DandelionBold Sep 28, 2025
0a2eae9
fix: properly handle animated GIF saving in image processor
DandelionBold Sep 28, 2025
9cea822
feat: implement Video to GIF tool with comprehensive GUI
DandelionBold Sep 28, 2025
bc3eb2c
fix: correct Video to GIF tool argument passing and output filename
DandelionBold Sep 28, 2025
7f47da5
feat: add auto-optimization for large video files
DandelionBold Sep 28, 2025
476b6cc
fix: correct MoviePy import for VideoFileClip subclip method
DandelionBold Sep 28, 2025
26da933
fix: correct MoviePy import and method names for version 2.1.2
DandelionBold Sep 28, 2025
dafd474
fix: adapt video to GIF for MoviePy 2.1.2 API compatibility
DandelionBold Sep 28, 2025
ffc7ee4
fix: remove unsupported write_gif parameters for MoviePy 2.1.2
DandelionBold Sep 28, 2025
3840914
feat: add progress bar updates and button management
DandelionBold Sep 28, 2025
6e16409
fix: resolve 'tool_buttons' attribute error in button state management
DandelionBold Sep 28, 2025
b6dd1a8
fix: add progress_callback parameter to standalone functions
DandelionBold Sep 28, 2025
91dd40c
improve: enhance duration control and verification for Video to GIF
DandelionBold Sep 28, 2025
6be3d3f
fix: add missing actual_duration parameter to _convert_to_gif method
DandelionBold Sep 28, 2025
ff0d710
fix: remove unsupported 'program' parameter from write_gif call
DandelionBold Sep 28, 2025
fb9ac21
feat: implement GIF Resize tool with progress updates
DandelionBold Sep 28, 2025
1d0bfb5
fix: resolve resize panel pack error and implement rotate tool
DandelionBold Sep 28, 2025
a92c690
fix: resolve rotate panel pack error and implement crop tool
DandelionBold Sep 28, 2025
a817df0
fix: resolve crop panel pack error
DandelionBold Sep 28, 2025
c7e600d
feat: implement visual free transform crop tool
DandelionBold Sep 28, 2025
57dad77
fix: resolve GIF loading error and add aspect ratio options
DandelionBold Sep 28, 2025
7fd4680
debug: fix image loading in crop tool with detailed logging
DandelionBold Sep 28, 2025
7273c7a
fix: resolve crop tool issues - auto-load, import error, and window size
DandelionBold Sep 28, 2025
fee0ffe
feat: add comprehensive aspect ratios and update documentation
DandelionBold Sep 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 45 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,19 @@ A comprehensive library and desktop application for GIF processing and manipulat

## 🚀 Features

### Core GIF Processing Tools
- **Video to GIF** - Convert video files to animated GIFs
- **Resize** - Change GIF dimensions while maintaining aspect ratio
- **Rotate** - Rotate GIFs by 90°, 180°, or 270° degrees
- **Crop** - Cut out specific rectangular areas from GIFs
### ✅ **IMPLEMENTED TOOLS** (Ready to Use)
- **Video to GIF** - Convert video files to animated GIFs with auto-optimization
- **Resize** - Change GIF dimensions with aspect ratio control and quality settings
- **Rotate** - Rotate GIFs by 90°, 180°, or 270° degrees with progress tracking
- **Crop** - Professional visual crop tool with aspect ratio presets and drag selection
- **Rearrange** - Advanced drag-and-drop frame reordering with visual preview

### 🔄 **IN PROGRESS** (Partially Implemented)
- **Split** - Extract individual frames from GIFs
- **Merge** - Combine multiple GIFs or images into one
- **Add Text** - Overlay text with customizable fonts and colors
- **Rearrange** - Drag and drop frames to reorder them

### 📋 **PLANNED TOOLS** (Coming Soon)
- **Reverse** - Play GIF animations backwards
- **Optimize** - Reduce file size while maintaining quality
- **Speed Control** - Adjust playback speed
Expand All @@ -28,18 +32,46 @@ A comprehensive library and desktop application for GIF processing and manipulat
- **Batch Processing** - Process multiple files at once
- **Watermark** - Add image or text watermarks

### Desktop Application
- Modern, intuitive GUI built with tkinter
- Drag-and-drop file handling
- Real-time preview
- Progress tracking
- Error handling and validation
### 🎨 **Desktop Application Features**
- **Modern GUI** - Professional interface built with tkinter
- **Visual Crop Tool** - Click-and-drag cropping with 15+ aspect ratio presets
- **Auto-Loading** - Tools automatically load selected GIFs from main dashboard
- **Progress Tracking** - Real-time progress bars with detailed status messages
- **Error Handling** - Robust error messages and validation
- **Resizable Windows** - All tool dialogs are resizable for better workflow
- **Aspect Ratio Presets** - Free, Square, Classic, Camera, Widescreen, Portrait, Vertical, and more

### Future Web API
### 🌐 **Future Web API**
- RESTful API for web integration
- Async processing for large files
- Docker containerization ready

## 📊 **Current Development Status**

### **Phase 1: Core Infrastructure** ✅ **COMPLETED**
- Project structure and architecture
- Core library with modular design
- Desktop GUI framework
- Basic tool integration

### **Phase 2: Basic Tools** ✅ **COMPLETED**
- Video to GIF conversion with auto-optimization
- Resize tool with aspect ratio control
- Rotate tool with progress tracking
- Professional visual crop tool with 15+ aspect ratios
- Advanced rearrange tool with drag-and-drop

### **Phase 3: Advanced Tools** 🔄 **IN PROGRESS**
- Split tool (frames extraction)
- Merge tool (combine GIFs)
- Add Text tool (text overlay)

### **Phase 4: Polish & Optimization** 📋 **PLANNED**
- Performance optimization
- Additional effects and filters
- Batch processing
- Web API development

## 📦 Installation

### Prerequisites
Expand Down
8 changes: 4 additions & 4 deletions desktop_app/gui/tool_panels/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
Contains GUI panels for all GIF processing tools.
"""

from .resize_panel import ResizePanel
from .add_text_panel import AddTextPanel
from .rearrange_panel import RearrangePanel
from .video_to_gif_panel import VideoToGifPanel

__all__ = [
'ResizePanel',
'AddTextPanel',
'RearrangePanel',
'VideoToGifPanel',
]
Loading
Loading