- 🎯 Batch Processing - Modify DPI for multiple images at once
- 🖱️ Drag & Drop - Simply drag images into the window
- 📁 Folder Support - Add entire folders of images
- 🌍 Multi-language - English and Chinese (中文) support
- 🎨 Modern UI - Clean and intuitive interface built with React
- ⚡ Fast & Lightweight - Built with Tauri and Rust for optimal performance
- 🔧 Flexible Options - Rename patterns, output folders, and more
- 📝 Logging - Optional CSV logging for batch operations
- 🕐 Timestamp Control - Optionally modify file timestamps
- 💾 Backup Support - Create backups before modifying files
- ✅ JPEG / JPG
- ✅ PNG
- ✅ BMP
- ✅ GIF
- ✅ TIFF / TIF
Download the latest release from the Releases page.
# Clone the repository
git clone https://github.com/Amoswuuuu/ImgDPIChanger.git
cd ImgDPIChanger/tauri-app
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri build-
Add Images
- Click "Add Files" button to select images
- Click "Add Folder" button to add all images from a folder
- Or simply drag & drop images into the window
-
Configure Settings
- Set target DPI (default: 300)
- Choose output options (overwrite or new folder)
- Configure file naming patterns
- Optionally set file timestamps
-
Process
- Click "Start Processing" button
- Watch the progress in real-time
- Check the status column for results
- Target DPI: Set the desired DPI value (72, 96, 150, 300, 600, etc.)
- Enable DPI Change: Toggle to enable/disable DPI modification
- Output to Folder: Save modified images to a separate folder
- Overwrite Original: Replace original files (use with caution!)
- Create Backup: Create
.bakbackup files before overwriting
- Prefix: Add text before filename
- Suffix: Add text after filename (default:
_changed) - Pattern: Use
{filename},{prefix},{suffix}placeholders
- Creation Time: Set file creation timestamp
- Modification Time: Set file modification timestamp
- Access Time: Set file access timestamp
- Frontend: React 19 + TypeScript + Tailwind CSS
- Backend: Rust + Tauri 2.0
- State Management: Zustand
- Internationalization: i18next
- Image Processing: Rust
imagecrate +img-parts
Compared to the original WPF version:
| Feature | WPF Version | Tauri Version |
|---|---|---|
| Platform | Windows only | Windows, macOS, Linux |
| Size | ~15 MB | ~8 MB |
| Startup | ~1.5s | ~0.5s |
| Memory | ~80 MB | ~40 MB |
| UI Framework | XAML | React + Tailwind |
| Customization | Limited | Highly flexible |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Tauri - Build smaller, faster, and more secure desktop applications
- React - A JavaScript library for building user interfaces
- Rust - A language empowering everyone to build reliable and efficient software
- image-rs - Image processing library for Rust
- GitHub: @Amoswuuuu
- Email: amoswu@88.com
Made with ❤️ by Amos
⭐ Star this repo if you find it helpful!
