Merge pull request #10472 from cvium/dispose_imagefilter
This commit is contained in:
commit
ed00d7448b
|
@ -23,6 +23,30 @@ public class SkiaEncoder : IImageEncoder
|
||||||
|
|
||||||
private readonly ILogger<SkiaEncoder> _logger;
|
private readonly ILogger<SkiaEncoder> _logger;
|
||||||
private readonly IApplicationPaths _appPaths;
|
private readonly IApplicationPaths _appPaths;
|
||||||
|
private static readonly SKImageFilter _imageFilter;
|
||||||
|
|
||||||
|
#pragma warning disable CA1810
|
||||||
|
static SkiaEncoder()
|
||||||
|
#pragma warning restore CA1810
|
||||||
|
{
|
||||||
|
var kernel = new[]
|
||||||
|
{
|
||||||
|
0, -.1f, 0,
|
||||||
|
-.1f, 1.4f, -.1f,
|
||||||
|
0, -.1f, 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
var kernelSize = new SKSizeI(3, 3);
|
||||||
|
var kernelOffset = new SKPointI(1, 1);
|
||||||
|
_imageFilter = SKImageFilter.CreateMatrixConvolution(
|
||||||
|
kernelSize,
|
||||||
|
kernel,
|
||||||
|
1f,
|
||||||
|
0f,
|
||||||
|
kernelOffset,
|
||||||
|
SKShaderTileMode.Clamp,
|
||||||
|
true);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="SkiaEncoder"/> class.
|
/// Initializes a new instance of the <see cref="SkiaEncoder"/> class.
|
||||||
|
@ -356,25 +380,7 @@ public class SkiaEncoder : IImageEncoder
|
||||||
IsDither = isDither
|
IsDither = isDither
|
||||||
};
|
};
|
||||||
|
|
||||||
var kernel = new float[9]
|
paint.ImageFilter = _imageFilter;
|
||||||
{
|
|
||||||
0, -.1f, 0,
|
|
||||||
-.1f, 1.4f, -.1f,
|
|
||||||
0, -.1f, 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
var kernelSize = new SKSizeI(3, 3);
|
|
||||||
var kernelOffset = new SKPointI(1, 1);
|
|
||||||
|
|
||||||
paint.ImageFilter = SKImageFilter.CreateMatrixConvolution(
|
|
||||||
kernelSize,
|
|
||||||
kernel,
|
|
||||||
1f,
|
|
||||||
0f,
|
|
||||||
kernelOffset,
|
|
||||||
SKShaderTileMode.Clamp,
|
|
||||||
true);
|
|
||||||
|
|
||||||
canvas.DrawBitmap(
|
canvas.DrawBitmap(
|
||||||
source,
|
source,
|
||||||
SKRect.Create(0, 0, source.Width, source.Height),
|
SKRect.Create(0, 0, source.Width, source.Height),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user