mirror of
https://github.com/jellyfin/jellyfin
synced 2024-10-14 19:54:01 +00:00
chore(deps): use Svg.Skia instead of the deprecated SkiaSharp.Svg
This commit is contained in:
parent
42a7e4cf1a
commit
4be0f4267d
|
@ -2,9 +2,7 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Run "dotnet list package (dash,dash)outdated" to see the latest versions of each package.-->
|
<!-- Run "dotnet list package (dash,dash)outdated" to see the latest versions of each package.-->
|
||||||
|
|
||||||
<ItemGroup Label="Package Dependencies">
|
<ItemGroup Label="Package Dependencies">
|
||||||
<PackageVersion Include="AutoFixture.AutoMoq" Version="4.18.0" />
|
<PackageVersion Include="AutoFixture.AutoMoq" Version="4.18.0" />
|
||||||
<PackageVersion Include="AutoFixture.Xunit2" Version="4.18.0" />
|
<PackageVersion Include="AutoFixture.Xunit2" Version="4.18.0" />
|
||||||
|
@ -72,9 +70,9 @@
|
||||||
<PackageVersion Include="SkiaSharp" Version="2.88.5" />
|
<PackageVersion Include="SkiaSharp" Version="2.88.5" />
|
||||||
<PackageVersion Include="SkiaSharp.HarfBuzz" Version="2.88.5" />
|
<PackageVersion Include="SkiaSharp.HarfBuzz" Version="2.88.5" />
|
||||||
<PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="2.88.5" />
|
<PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="2.88.5" />
|
||||||
<PackageVersion Include="SkiaSharp.Svg" Version="1.60.0" />
|
|
||||||
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />
|
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />
|
||||||
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.507" />
|
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.507" />
|
||||||
|
<PackageVersion Include="Svg.Skia" Version="1.0.0.2" />
|
||||||
<PackageVersion Include="Swashbuckle.AspNetCore.ReDoc" Version="6.5.0" />
|
<PackageVersion Include="Swashbuckle.AspNetCore.ReDoc" Version="6.5.0" />
|
||||||
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.2.3" />
|
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.2.3" />
|
||||||
<PackageVersion Include="System.Globalization" Version="4.3.0" />
|
<PackageVersion Include="System.Globalization" Version="4.3.0" />
|
||||||
|
@ -90,4 +88,4 @@
|
||||||
<PackageVersion Include="Xunit.SkippableFact" Version="1.4.13" />
|
<PackageVersion Include="Xunit.SkippableFact" Version="1.4.13" />
|
||||||
<PackageVersion Include="xunit" Version="2.5.3" />
|
<PackageVersion Include="xunit" Version="2.5.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -18,11 +18,11 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="BlurHashSharp" />
|
<PackageReference Include="BlurHashSharp" />
|
||||||
<PackageReference Include="BlurHashSharp.SkiaSharp" />
|
<PackageReference Include="BlurHashSharp.SkiaSharp" />
|
||||||
|
<PackageReference Include="HarfBuzzSharp.NativeAssets.Linux" />
|
||||||
<PackageReference Include="SkiaSharp" />
|
<PackageReference Include="SkiaSharp" />
|
||||||
<PackageReference Include="SkiaSharp.NativeAssets.Linux" />
|
<PackageReference Include="SkiaSharp.NativeAssets.Linux" />
|
||||||
<PackageReference Include="SkiaSharp.Svg" />
|
|
||||||
<PackageReference Include="SkiaSharp.HarfBuzz" />
|
<PackageReference Include="SkiaSharp.HarfBuzz" />
|
||||||
<PackageReference Include="HarfBuzzSharp.NativeAssets.Linux" />
|
<PackageReference Include="Svg.Skia" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -2,19 +2,15 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
|
||||||
using System.Security.Cryptography.Xml;
|
|
||||||
using BlurHashSharp.SkiaSharp;
|
using BlurHashSharp.SkiaSharp;
|
||||||
using Jellyfin.Extensions;
|
using Jellyfin.Extensions;
|
||||||
using MediaBrowser.Common.Configuration;
|
using MediaBrowser.Common.Configuration;
|
||||||
using MediaBrowser.Common.Extensions;
|
using MediaBrowser.Common.Extensions;
|
||||||
using MediaBrowser.Controller.Drawing;
|
using MediaBrowser.Controller.Drawing;
|
||||||
using MediaBrowser.Controller.LiveTv;
|
|
||||||
using MediaBrowser.Model.Drawing;
|
using MediaBrowser.Model.Drawing;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using SkiaSharp;
|
using SkiaSharp;
|
||||||
using static System.Net.Mime.MediaTypeNames;
|
using Svg.Skia;
|
||||||
using SKSvg = SkiaSharp.Extended.Svg.SKSvg;
|
|
||||||
|
|
||||||
namespace Jellyfin.Drawing.Skia;
|
namespace Jellyfin.Drawing.Skia;
|
||||||
|
|
||||||
|
@ -123,10 +119,16 @@ public class SkiaEncoder : IImageEncoder
|
||||||
var extension = Path.GetExtension(path.AsSpan());
|
var extension = Path.GetExtension(path.AsSpan());
|
||||||
if (extension.Equals(".svg", StringComparison.OrdinalIgnoreCase))
|
if (extension.Equals(".svg", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
var svg = new SKSvg();
|
using var svg = new SKSvg();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using var picture = svg.Load(path);
|
using var picture = svg.Load(path);
|
||||||
|
if (picture is null)
|
||||||
|
{
|
||||||
|
_logger.LogError("Unable to determine image dimensions for {FilePath}", path);
|
||||||
|
return default;
|
||||||
|
}
|
||||||
|
|
||||||
return new ImageDimensions(Convert.ToInt32(picture.CullRect.Width), Convert.ToInt32(picture.CullRect.Height));
|
return new ImageDimensions(Convert.ToInt32(picture.CullRect.Width), Convert.ToInt32(picture.CullRect.Height));
|
||||||
}
|
}
|
||||||
catch (FormatException skiaColorException)
|
catch (FormatException skiaColorException)
|
||||||
|
@ -289,10 +291,7 @@ public class SkiaEncoder : IImageEncoder
|
||||||
|
|
||||||
private SKBitmap OrientImage(SKBitmap bitmap, SKEncodedOrigin origin)
|
private SKBitmap OrientImage(SKBitmap bitmap, SKEncodedOrigin origin)
|
||||||
{
|
{
|
||||||
var needsFlip = origin == SKEncodedOrigin.LeftBottom
|
var needsFlip = origin is SKEncodedOrigin.LeftBottom or SKEncodedOrigin.LeftTop or SKEncodedOrigin.RightBottom or SKEncodedOrigin.RightTop;
|
||||||
|| origin == SKEncodedOrigin.LeftTop
|
|
||||||
|| origin == SKEncodedOrigin.RightBottom
|
|
||||||
|| origin == SKEncodedOrigin.RightTop;
|
|
||||||
var rotated = needsFlip
|
var rotated = needsFlip
|
||||||
? new SKBitmap(bitmap.Height, bitmap.Width)
|
? new SKBitmap(bitmap.Height, bitmap.Width)
|
||||||
: new SKBitmap(bitmap.Width, bitmap.Height);
|
: new SKBitmap(bitmap.Width, bitmap.Height);
|
||||||
|
|
Loading…
Reference in a new issue