IImageTransformer.cs 1.2 KB

1234567891011121314151617181920212223242526272829
  1. using System.IO;
  2. using SixLabors.ImageSharp;
  3. using SixLabors.ImageSharp.PixelFormats;
  4. namespace Masuit.Tools.Media;
  5. /// <summary>
  6. /// 用于在ImageHashes类的哈希函数中实现图像转换操作。
  7. /// </summary>
  8. public interface IImageTransformer
  9. {
  10. /// <summary>
  11. /// 将给定图像转换为8bit色深通道的灰度图像,并将其调整为给定的宽度和高度。在调整大小操作期间,应忽略纵横比。
  12. /// </summary>
  13. /// <param name="stream">图像</param>
  14. /// <param name="width">给定宽度</param>
  15. /// <param name="height">给定高度</param>
  16. /// <returns>包含转换图像的8位像素值的字节数组。</returns>
  17. byte[] TransformImage(Stream stream, int width, int height);
  18. /// <summary>
  19. /// 将给定图像转换为8bit色深通道的灰度图像,并将其调整为给定的宽度和高度。在调整大小操作期间,应忽略纵横比。
  20. /// </summary>
  21. /// <param name="image">图像</param>
  22. /// <param name="width">给定宽度</param>
  23. /// <param name="height">给定高度</param>
  24. /// <returns>包含转换图像的8位像素值的字节数组。</returns>
  25. byte[] TransformImage(Image<L8> image, int width, int height);
  26. }