Browse Source

Optimise resampler

Former-commit-id: a8ff4bd48c3dd227beeebda998ca455c93cca173
Former-commit-id: c54775fc21c5f076cc644a991f6f7f70a903f819
Former-commit-id: dc8aabfcd64975ff08526c6c08c766614c1fa87b
pull/17/head
James Jackson-South 10 years ago
parent
commit
54693fe223
  1. 14
      src/ImageProcessor/Samplers/Resampler.cs

14
src/ImageProcessor/Samplers/Resampler.cs

@ -7,7 +7,6 @@ namespace ImageProcessor.Samplers
{
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Threading.Tasks;
/// <summary>
@ -174,7 +173,7 @@ namespace ImageProcessor.Samplers
Weight[] horizontalValues = this.horizontalWeights[x].Values;
// Destination color components
Color destination = new Color(0, 0, 0, 0);
Color destination = new Color();
foreach (Weight yw in verticalValues)
{
@ -185,11 +184,7 @@ namespace ImageProcessor.Samplers
int originX = xw.Index;
Color sourceColor = Color.Expand(source[originX, originY]);
float weight = yw.Value * xw.Value;
destination.R += sourceColor.R * weight;
destination.G += sourceColor.G * weight;
destination.B += sourceColor.B * weight;
destination.A += sourceColor.A * weight;
destination += sourceColor * weight;
}
}
@ -303,10 +298,7 @@ namespace ImageProcessor.Samplers
{
Color sourceColor = Color.Expand(source[rotated.X, rotated.Y]);
float weight = yw.Value * xw.Value;
destination.R += sourceColor.R * weight;
destination.G += sourceColor.G * weight;
destination.B += sourceColor.B * weight;
destination.A += sourceColor.A * weight;
destination += sourceColor * weight;
}
}
}

Loading…
Cancel
Save