blob: 218ba6a230111e53b26b1071321ffdd057d82220 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
using ImageMagick;
using FileInfo = Spacebar.Interop.Cdn.Abstractions.FileInfo;
namespace Spacebar.Cdn.Extensions;
public static class FileSourceExtensions {
public static async Task<MagickImageCollection> ToMagickImageCollectionAsync(this FileInfo fileInfo) {
var ms = new MemoryStream();
fileInfo.Stream.Position = 0;
await fileInfo.Stream.CopyToAsync(ms);
ms.Position = 0;
var img = fileInfo.MimeType switch {
"image/apng" => new MagickImageCollection(ms, MagickFormat.APng),
_ => new MagickImageCollection(ms)
};
// if (img.First().Format == MagickFormat.Png) {
// img.Dispose();
// ms.Position = 0;
// img = new MagickImageCollection(ms, MagickFormat.APng);
// }
return img;
}
}
|