1 stable release
| 72.0.32 | Feb 26, 2026 |
|---|
#1440 in Images
9KB
58 lines
ai-group-photo
A Rust crate for programmatically generating realistic AI group photos from individual images. This utility simplifies the process of creating composite images for various applications.
Installation
To use ai-group-photo in your Rust project, add the following to your Cargo.toml file:
toml
[dependencies]
ai-group-photo = "0.1.0" # Replace with the latest version
Usage Examples
Here are a few practical examples demonstrating how to use ai-group-photo:
1. Creating a Group Photo for a Team:
Imagine you want to create a group photo of your team members for the company website. You have individual headshots of each person. rust use ai_group_photo::{GroupPhotoGenerator, ImageSource};
fn main() -> Result<(), Box> { // Load individual images. Replace with actual image loading logic. let image1_bytes = std::fs::read("image1.jpg")?; let image2_bytes = std::fs::read("image2.jpg")?; let image3_bytes = std::fs::read("image3.jpg")?;
let images = vec![
ImageSource::Bytes(image1_bytes),
ImageSource::Bytes(image2_bytes),
ImageSource::Bytes(image3_bytes),
];
let generator = GroupPhotoGenerator::new();
let group_photo = generator.generate(images)?;
// Save the resulting group photo. Replace with actual image saving logic.
std::fs::write("group_photo.jpg", group_photo)?;
println!("Group photo generated successfully!");
Ok(())
}
2. Generating a Family Portrait:
You can use this crate to combine individual photos of family members who live far apart into a single family portrait. rust use ai_group_photo::{GroupPhotoGenerator, ImageSource};
fn main() -> Result<(), Box> { // Load family member images. Replace with actual image loading logic. let grandma_bytes = std::fs::read("grandma.png")?; let grandpa_bytes = std::fs::read("grandpa.png")?; let son_bytes = std::fs::read("son.png")?; let daughter_bytes = std::fs::read("daughter.png")?;
let images = vec![
ImageSource::Bytes(grandma_bytes),
ImageSource::Bytes(grandpa_bytes),
ImageSource::Bytes(son_bytes),
ImageSource::Bytes(daughter_bytes),
];
let generator = GroupPhotoGenerator::new();
let family_photo = generator.generate(images)?;
// Save the resulting family photo. Replace with actual image saving logic.
std::fs::write("family_photo.png", family_photo)?;
println!("Family photo generated successfully!");
Ok(())
}
3. Creating a Virtual Conference Attendee Group Photo:
After a virtual conference, create a commemorative group photo of the attendees from their profile pictures. rust use ai_group_photo::{GroupPhotoGenerator, ImageSource};
fn main() -> Result<(), Box> { // Load attendee profile pictures. Replace with actual image loading logic. let attendee1_bytes = std::fs::read("attendee1.jpeg")?; let attendee2_bytes = std::fs::read("attendee2.jpeg")?; let attendee3_bytes = std::fs::read("attendee3.jpeg")?; let attendee4_bytes = std::fs::read("attendee4.jpeg")?;
let images = vec![
ImageSource::Bytes(attendee1_bytes),
ImageSource::Bytes(attendee2_bytes),
ImageSource::Bytes(attendee3_bytes),
ImageSource::Bytes(attendee4_bytes),
];
let generator = GroupPhotoGenerator::new();
let conference_photo = generator.generate(images)?;
// Save the resulting conference photo. Replace with actual image saving logic.
std::fs::write("conference_photo.jpeg", conference_photo)?;
println!("Conference photo generated successfully!");
Ok(())
}
4. Generating Mockups for Marketing Materials:
Quickly create mockups featuring a group of people for your marketing campaigns. rust // Refer to previous examples for the general structure and replace the image loading and saving logic accordingly.
Feature Summary
- Image Combination: Combines multiple individual images into a single group photo.
- Flexible Image Sources: Supports loading images from byte arrays.
- Simple API: Easy-to-use functions for generating group photos.
- Error Handling: Provides robust error handling for image processing.
License
MIT License
This crate is part of the ai-group-photo ecosystem. For advanced features and enterprise-grade tools, visit: https://supermaker.ai/image/ai-group-photo/