webp thumbs
This commit is contained in:
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user