Explicitly dispose ImageSharp images.
This commit is contained in:
@@ -320,33 +320,34 @@ namespace Content.Client.Parallax
|
|||||||
public override void Apply(Image<Rgba32> bitmap)
|
public override void Apply(Image<Rgba32> bitmap)
|
||||||
{
|
{
|
||||||
// Temporary buffer so we don't mess up blending.
|
// Temporary buffer so we don't mess up blending.
|
||||||
var buffer = new Image<Rgba32>(Configuration.Default, bitmap.Width, bitmap.Height, Rgba32.Black);
|
using (var buffer = new Image<Rgba32>(Configuration.Default, bitmap.Width, bitmap.Height, Rgba32.Black))
|
||||||
|
|
||||||
if (Masked)
|
|
||||||
{
|
{
|
||||||
GenPointsMasked(buffer);
|
if (Masked)
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GenPoints(buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
var srcSpan = buffer.GetPixelSpan();
|
|
||||||
var dstSpan = bitmap.GetPixelSpan();
|
|
||||||
|
|
||||||
var width = bitmap.Width;
|
|
||||||
var height = bitmap.Height;
|
|
||||||
|
|
||||||
for (var y = 0; y < height; y++)
|
|
||||||
{
|
|
||||||
for (var x = 0; x < width; x++)
|
|
||||||
{
|
{
|
||||||
var i = y * width + x;
|
GenPointsMasked(buffer);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GenPoints(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
var dstColor = dstSpan[i].ConvertImgSharp();
|
var srcSpan = buffer.GetPixelSpan();
|
||||||
var srcColor = srcSpan[i].ConvertImgSharp();
|
var dstSpan = bitmap.GetPixelSpan();
|
||||||
|
|
||||||
dstSpan[i] = Color.Blend(dstColor, srcColor, DstFactor, SrcFactor).ConvertImgSharp();
|
var width = bitmap.Width;
|
||||||
|
var height = bitmap.Height;
|
||||||
|
|
||||||
|
for (var y = 0; y < height; y++)
|
||||||
|
{
|
||||||
|
for (var x = 0; x < width; x++)
|
||||||
|
{
|
||||||
|
var i = y * width + x;
|
||||||
|
|
||||||
|
var dstColor = dstSpan[i].ConvertImgSharp();
|
||||||
|
var srcColor = srcSpan[i].ConvertImgSharp();
|
||||||
|
|
||||||
|
dstSpan[i] = Color.Blend(dstColor, srcColor, DstFactor, SrcFactor).ConvertImgSharp();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ namespace Content.Client.Parallax
|
|||||||
image.SaveAsPng(stream);
|
image.SaveAsPng(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
image.Dispose();
|
||||||
|
|
||||||
using (var stream = _resourceCache.UserData.Open(ParallaxConfigOld, FileMode.Create))
|
using (var stream = _resourceCache.UserData.Open(ParallaxConfigOld, FileMode.Create))
|
||||||
using (var writer = new StreamWriter(stream, EncodingHelpers.UTF8))
|
using (var writer = new StreamWriter(stream, EncodingHelpers.UTF8))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user