I am thrilled to announce the development of my first Python application, ImagiMingle: a sophisticated Random Image Generator App leveraging the Unsplash API. This innovative tool is designed to provide users with a dynamic experience by generating random images in real-time. Users can explore a wide array of images, select their favorites, and engage with them by liking or disliking their choices. The application also offers the functionality to download images in high definition, ensuring that users have access to high-quality visuals. I am eager to see how this tool can be further enhanced and invite contributions to improve its features and functionality.
This application, ImagiMingle, is a Python-based Random Image Generator that utilizes the Unsplash API to fetch and display images. While the application is designed to provide a user-friendly experience, it is important to note the following:
Please use this software responsibly and in accordance with applicable laws and guidelines.
.
Our project ImagiMingle offers a range of functionalities designed to enhance the user experience with image generation and management. Key features include:
- Real-Time Image Generation: Leverages the Unsplash API to fetch and display random images based on user-selected categories in real-time.
- Dynamic Categories: Users can choose from a diverse set of categories, including Food, Animals, People, Marvel, Art, Technology, Vehicles, Moon, Sky, and more
- Image Selection: Users can view and select their favorite images from a generated set, with the ability to like or dislike each image.
- HD Image Download: Provides an option to download high-definition images for offline use or personal collection.
- Intuitive GUI: Features a user-friendly graphical interface built with Tkinter and ttkbootstrap, including buttons for generating images, liking/disliking, downloading, and exiting the application.
- Responsive Design: Designed to fit various screen sizes with a layout that adjusts to user interactions, ensuring a seamless experience across different devices.
- Error Handling and Notifications: Includes robust error handling to manage issues like network errors and API rate limits, with user-friendly notifications to keep users informed.
- Category-Based Generation: Users can start image generation with a selected category, making it easy to focus on specific types of images.
- Save Preferences: Allows users to select and save their favorite images, providing a personalized experience and easy access to previously liked images.
1. Clone the repository
git clone https://github.com/Minhal128/ImagiMingle.git
2. Install & Run python Language & its modules
pip install pillow
pip install tkinter
pip install ttkbootstrap
```bash
# Run the executable
python3 imagi_mingle.py
or
python imagi_mingle.py
- requests
- io
- tkinter
- Pillow (PIL)
- ttkbootstrap
A simple encryption class is defined to encrypt and decrypt user data using a XOR-based encryption method.
- Basic GUI Development with Tkinter: How to create a graphical user interface using Tkinter, including setting up the main window, adding buttons, and handling user interactions.
- Integration with External APIs: How to interact with the Unsplash API to fetch and display images, including constructing API requests, handling JSON responses, and managing API keys.
- Handling Images with PIL: How to use the Python Imaging Library (PIL) to open, manipulate, and display images in a Tkinter application.
- Using ttkbootstrap for Styling: How to apply modern styles to Tkinter widgets using ttkbootstrap, including configuring button styles and themes.
- Managing Application State: How to manage application state and update the UI based on user actions, such as enabling/disabling buttons and displaying images.
This project needs a ⭐ from you. Don't forget to leave a star ⭐