gbserver/gb-image/src/lib.rs

56 lines
1.5 KiB
Rust
Raw Normal View History

2024-12-22 20:56:52 -03:00
pub mod processor;
pub mod converter;
pub use processor::ImageProcessor;
pub use converter::{ImageConverter, ImageFormat};
#[cfg(test)]
mod tests {
use super::*;
use gb_core::Result;
use super::*;
use gb_core::Result;
use image::{DynamicImage, Rgba};
#[tokio::test]
async fn test_image_processing_integration() -> Result<()> {
// Initialize components
let processor = ImageProcessor::new()?;
// Create test image
let mut image = DynamicImage::new_rgb8(200, 200);
// Test image processing operations
let resized = processor.resize(&image, 100, 100);
assert_eq!(resized.width(), 100);
assert_eq!(resized.height(), 100);
let cropped = processor.crop(&image, 50, 50, 100, 100)?;
assert_eq!(cropped.width(), 100);
assert_eq!(cropped.height(), 100);
let blurred = processor.apply_blur(&image, 1.0);
let brightened = processor.adjust_brightness(&image, 10);
let contrasted = processor.adjust_contrast(&image, 1.2);
// Test text addition
processor.add_text(
&mut image,
"Integration Test",
10,
10,
24.0,
Rgba([0, 0, 0, 255]),
)?;
// Test format conversion
let webp_data = ImageConverter::to_webp(&image, 80)?;
let jpeg_data = ImageConverter::to_jpeg(&image, 80)?;
let png_data = ImageConverter::to_png(&image)?;
let gif_data = ImageConverter::to_gif(&image)?;
Ok(())
}
}