Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖼️ ImgDPIChanger

License: MIT Tauri React TypeScript Rust

一个轻量级的批量图片 DPI 修改工具 🚀

English | 简体中文

ImgDPIChanger Screenshot

✨ Features

  • 🎯 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

🎯 Supported Formats

  • ✅ JPEG / JPG
  • ✅ PNG
  • ✅ BMP
  • ✅ GIF
  • ✅ TIFF / TIF

🚀 Quick Start

Download

Download the latest release from the Releases page.

Build from Source

Prerequisites

Steps

# 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

📖 Usage

Basic Workflow

  1. 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
  2. Configure Settings

    • Set target DPI (default: 300)
    • Choose output options (overwrite or new folder)
    • Configure file naming patterns
    • Optionally set file timestamps
  3. Process

    • Click "Start Processing" button
    • Watch the progress in real-time
    • Check the status column for results

Advanced Options

DPI Settings

  • Target DPI: Set the desired DPI value (72, 96, 150, 300, 600, etc.)
  • Enable DPI Change: Toggle to enable/disable DPI modification

Output Settings

  • Output to Folder: Save modified images to a separate folder
  • Overwrite Original: Replace original files (use with caution!)
  • Create Backup: Create .bak backup files before overwriting

File Naming

  • Prefix: Add text before filename
  • Suffix: Add text after filename (default: _changed)
  • Pattern: Use {filename}, {prefix}, {suffix} placeholders

Timestamp Settings

  • Creation Time: Set file creation timestamp
  • Modification Time: Set file modification timestamp
  • Access Time: Set file access timestamp

🛠️ Technology Stack

  • Frontend: React 19 + TypeScript + Tailwind CSS
  • Backend: Rust + Tauri 2.0
  • State Management: Zustand
  • Internationalization: i18next
  • Image Processing: Rust image crate + img-parts

🌟 Why Tauri?

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

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • 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

📧 Contact


Made with ❤️ by Amos

⭐ Star this repo if you find it helpful!

About

一个轻量级的批量图片 DPI 修改工具 🚀

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages