namespace WorkCameraExport.Services.Interfaces { /// /// 图片服务接口 - 负责图片下载和处理 /// public interface IImageService : IDisposable { #region 下载 /// /// 下载单张图片 /// /// 图片 URL /// 取消令牌 /// 图片字节数组 Task DownloadImageAsync(string url, CancellationToken cancellationToken = default); /// /// 批量并发下载图片 /// /// 图片 URL 列表 /// 输出目录 /// 并发数 /// 进度回调(已下载数量) /// 取消令牌 /// 下载结果字典(URL -> 本地文件路径,失败的为 null) Task> DownloadImagesAsync( List urls, string outputDir, int concurrency, IProgress? progress = null, CancellationToken cancellationToken = default); #endregion #region 处理 /// /// 压缩图片 /// /// 原始图片数据 /// 压缩质量 (1-100) /// 压缩后的图片数据 byte[] CompressImage(byte[] imageData, int quality); /// /// 缩放图片 /// /// 原始图片数据 /// 目标宽度 /// 目标高度 /// 缩放后的图片数据 byte[] ResizeImage(byte[] imageData, int width, int height); /// /// 压缩并缩放图片 /// /// 原始图片数据 /// 目标宽度 /// 目标高度 /// 压缩质量 (1-100) /// 处理后的图片数据 byte[] CompressAndResizeImage(byte[] imageData, int width, int height, int quality); #endregion } }