From 3ddbb62ef62a2caf7c460821237a94b98826ec8c Mon Sep 17 00:00:00 2001 From: Sverre Rekvin Date: Thu, 23 Jun 2016 22:55:57 +0200 Subject: [PATCH] allmost Former-commit-id: 2381cad96fed8bc6fcdf302ae430902ab5e49250 Former-commit-id: 85b9f55b31c5d2e664cf86ac08696e2929de1b05 Former-commit-id: cfbb14402f0dbb5bf915b67af8778c00a7f18e98 --- .../Samplers/Processors/SkewProcessor.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ImageProcessorCore/Samplers/Processors/SkewProcessor.cs b/src/ImageProcessorCore/Samplers/Processors/SkewProcessor.cs index c50e7ccc5..8b373de75 100644 --- a/src/ImageProcessorCore/Samplers/Processors/SkewProcessor.cs +++ b/src/ImageProcessorCore/Samplers/Processors/SkewProcessor.cs @@ -116,21 +116,22 @@ namespace ImageProcessorCore deltaX = (((skewMaxX * sy)) / (source.Height - 1)); } + for (int sx = 0; sx < source.Width; sx++) { int deltaY; if (revY) { - deltaY = ((((skewMaxY * -sx ))+ (skewMaxY-1)) -(skewMaxY-1)) / (source.Width - 1) + skewMaxY; + deltaY = ((((-skewMaxY*(sx + deltaX)))/(source.Width-skewMaxX - 1)))+skewMaxY; //deltaY = (((skewMaxY * sx)) / (source.Height - 1)); - // deltaY = -deltaY + skewMaxY; - //deltaY = 0; + // deltaY = -deltaY + skewMaxY; + // deltaY = sx+deltaX; } else { deltaY = ((skewMaxY * sx) / (source.Width - 1)); } - target[deltaX + sx, sy + deltaY] = source[sx, sy]; + target[deltaX + sx, Math.Abs(sy + deltaY)%(target.Height-1)] = source[sx, sy]; } this.OnRowProcessed(); });