Class ResponsiveBuilder
java.lang.Object
cloud.opencode.base.image.responsive.ResponsiveBuilder
Responsive Multi-Size Image Generator
响应式多尺寸图片生成器
Generates multiple image variants at different sizes and formats from a single source image. Useful for creating responsive image sets for web and mobile applications.
从单个源图片生成多种不同尺寸和格式的图片变体。 适用于为 Web 和移动应用程序创建响应式图片集。
Features | 主要功能:
- Generate multiple size variants from a single source - 从单个源生成多种尺寸变体
- Output in multiple formats (JPEG, PNG, etc.) - 输出多种格式(JPEG、PNG 等)
- Configurable compression quality - 可配置的压缩质量
- Batch processing with parallel execution - 支持并行执行的批量处理
- Error handling per source in batch mode - 批量模式下每个源的错误处理
Usage Examples | 使用示例:
ResponsiveBuilder.of(source)
.variant(64, 64, "icon")
.variant(200, 200, "thumb")
.formats(ImageFormat.JPEG, ImageFormat.PNG)
.quality(0.85f)
.generate(outputDir);
Security | 安全性:
- Thread-safe: No (builder pattern) - 线程安全: 否(构建器模式)
- Since:
- JDK 25, opencode-base-image V2.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBatch Builder for processing multiple source images with the same variant/format configuration.static final recordResult of a single variant generation, containing the output path, variant info, format, and file size.static final recordVariant configuration describing a target image size and its name. -
Method Summary
Modifier and TypeMethodDescriptionCreate a batch builder for processing multiple source images.formats(ImageFormat... formats) Set the output formats.Generate all variant/format combinations and write them to the output directory.static ResponsiveBuilderCreate a ResponsiveBuilder from an Image instance.static ResponsiveBuilderCreate a ResponsiveBuilder from a file path.quality(float quality) Set the compression quality.Add a variant configuration.
-
Method Details
-
of
Create a ResponsiveBuilder from a file path. 从文件路径创建 ResponsiveBuilder。- Parameters:
source- the source image path | 源图片路径- Returns:
- a new builder instance | 新的构建器实例
- Throws:
ImageIOException- if reading the image fails | 如果读取图片失败
-
of
Create a ResponsiveBuilder from an Image instance. 从 Image 实例创建 ResponsiveBuilder。- Parameters:
source- the source image | 源图片- Returns:
- a new builder instance | 新的构建器实例
-
variant
Add a variant configuration. 添加一个变体配置。- Parameters:
width- the target width | 目标宽度height- the target height | 目标高度name- the variant name for output filenames | 用于输出文件名的变体名称- Returns:
- this builder for chaining | 用于链式调用的构建器
-
formats
Set the output formats. If not called, defaults to JPEG. 设置输出格式。如果未调用,默认为 JPEG。- Parameters:
formats- the output formats | 输出格式- Returns:
- this builder for chaining | 用于链式调用的构建器
-
quality
Set the compression quality. 设置压缩质量。- Parameters:
quality- quality from 0.0 to 1.0 (default 0.85) | 质量(0.0 到 1.0,默认 0.85)- Returns:
- this builder for chaining | 用于链式调用的构建器
- Throws:
IllegalArgumentException- if quality is out of range | 如果质量超出范围
-
generate
Generate all variant/format combinations and write them to the output directory. 生成所有变体/格式组合并写入输出目录。Output filenames follow the pattern:
{variantName}.{formatExtension}输出文件名遵循以下模式:
{变体名称}.{格式扩展名}- Parameters:
outputDir- the output directory | 输出目录- Returns:
- list of generation results | 生成结果列表
- Throws:
IllegalStateException- if no variants are configured | 如果未配置变体ImageIOException- if image processing fails | 如果图片处理失败
-
batch
Create a batch builder for processing multiple source images. 创建用于处理多个源图片的批量构建器。- Parameters:
sources- the list of source image paths | 源图片路径列表- Returns:
- a new batch builder | 新的批量构建器
-