feat: 实现纹理图集生成功能
添加纹理图集生成工具,支持多图片合并为单个图集并生成坐标数据文件 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -59,7 +59,7 @@ export interface ProcessingProgress {
|
||||
* Tool types
|
||||
*/
|
||||
|
||||
export type ToolType = "video-frames" | "image-compress" | "audio-compress" | "ai-image" | "ai-audio";
|
||||
export type ToolType = "video-frames" | "image-compress" | "audio-compress" | "texture-atlas" | "ai-image" | "ai-audio";
|
||||
|
||||
export interface ToolConfig {
|
||||
type: ToolType;
|
||||
@@ -129,7 +129,7 @@ export interface VideoFramesConfig {
|
||||
|
||||
export interface ImageCompressConfig {
|
||||
quality: number;
|
||||
format: "original" | "jpeg" | "png" | "webp";
|
||||
format: "original" | "auto" | "jpeg" | "png" | "webp" | "avif";
|
||||
resize?: {
|
||||
width?: number;
|
||||
height?: number;
|
||||
@@ -143,3 +143,52 @@ export interface AudioCompressConfig {
|
||||
sampleRate: number;
|
||||
channels: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Texture Atlas types
|
||||
*/
|
||||
|
||||
export interface TextureAtlasConfig {
|
||||
maxWidth: number;
|
||||
maxHeight: number;
|
||||
padding: number;
|
||||
allowRotation: boolean;
|
||||
pot: boolean; // Power of Two
|
||||
format: "png" | "webp";
|
||||
quality: number;
|
||||
outputFormat: "cocos2d" | "cocos-creator" | "generic-json";
|
||||
algorithm: "MaxRects" | "Shelf";
|
||||
}
|
||||
|
||||
export interface AtlasSprite {
|
||||
id: string;
|
||||
name: string;
|
||||
width: number;
|
||||
height: number;
|
||||
buffer: Buffer;
|
||||
}
|
||||
|
||||
export interface AtlasRect {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
rotated?: boolean;
|
||||
}
|
||||
|
||||
export interface AtlasFrame {
|
||||
filename: string;
|
||||
frame: AtlasRect;
|
||||
rotated: boolean;
|
||||
trimmed: boolean;
|
||||
spriteSourceSize: { x: number; y: number; w: number; h: number };
|
||||
sourceSize: { w: number; h: number };
|
||||
}
|
||||
|
||||
export interface TextureAtlasResult {
|
||||
width: number;
|
||||
height: number;
|
||||
image: Buffer;
|
||||
frames: AtlasFrame[];
|
||||
format: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user