webp thumbs

This commit is contained in:
2022-01-02 17:19:45 +01:00
parent 445d6b4545
commit a780301bb5
2 changed files with 14 additions and 19 deletions
+8 -12
View File
@@ -1,8 +1,6 @@
using Shorthand.ImageSharp.WebP;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.Formats.Webp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using System.IO;
@@ -65,7 +63,7 @@ public class MediaCreator : IMediaCreator
if (isImage)
{
using Image<Rgba32> image = await Image.LoadAsync<Rgba32>(fileInfo.AbsolutePath);
using Image<Rgba32> image = await Image.LoadAsync<Rgba32>(fileInfo.AbsolutePath, cancellationToken);
model.ImageMeta = GetImageMetadata(image);
string extension = Path.GetExtension(model.Path);
@@ -76,18 +74,15 @@ public class MediaCreator : IMediaCreator
imageFrame.Mutate(x => x.Resize(opts));
using MemoryStream stream = new();
//image.Save(stream, new WebPEncoder()
//{
// Quality = 70
//});
await imageFrame.SaveAsync(stream, new JpegEncoder()
await imageFrame.SaveAsync(stream, new WebpEncoder()
{
Quality = 80
FilterStrength = 30,
Quality = 50
}, cancellationToken);
stream.Position = 0;
string thumbFilename = normalizedFilename.TrimEnd(extension) + "." + Safenames.File(key) + ".jpg";
string thumbFilename = normalizedFilename.TrimEnd(extension) + "." + Safenames.File(key) + ".webp";
string path = directory + '/' + thumbFilename;
await FileSystem.CreateFile(path, stream, cancellationToken: cancellationToken);
@@ -104,6 +99,7 @@ public class MediaCreator : IMediaCreator
protected virtual MediaImageMetadata GetImageMetadata(Image<Rgba32> image)
{
PngMetadata pngMetadata = image.Metadata.GetPngMetadata();
//WebpMetadata webpMetadata = image.Metadata.GetWebpMetadata();
return new MediaImageMetadata()
{
+6 -7
View File
@@ -19,15 +19,14 @@
<ItemGroup>
<PackageReference Include="ClosedXML" Version="0.95.4" />
<PackageReference Include="FluentValidation" Version="10.3.4" />
<PackageReference Include="FluentValidation" Version="10.3.6" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="6.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
<PackageReference Include="RavenDB.Client" Version="5.2.4" />
<PackageReference Include="Shorthand.ImageSharp.WebP" Version="2.2.1" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.4" />
<PackageReference Include="System.Linq.Async" Version="5.0.0" />
<PackageReference Include="RavenDB.Client" Version="5.3.1" />
<PackageReference Include="SixLabors.ImageSharp" Version="2.0.0-alpha.0.143" />
<PackageReference Include="System.Linq.Async" Version="5.1.0" />
</ItemGroup>
</Project>