From 51f62588c2777f72e8f234be57fa2f4b42b5bf16 Mon Sep 17 00:00:00 2001 From: celogeek <65178+celogeek@users.noreply.github.com> Date: Sun, 28 Jan 2024 16:43:54 +0100 Subject: [PATCH] add boundaries for autocrop to allow split then crop --- internal/epub/imagefilters/epub_image_filters_autocrop.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/epub/imagefilters/epub_image_filters_autocrop.go b/internal/epub/imagefilters/epub_image_filters_autocrop.go index 9669347..718bcd9 100644 --- a/internal/epub/imagefilters/epub_image_filters_autocrop.go +++ b/internal/epub/imagefilters/epub_image_filters_autocrop.go @@ -8,9 +8,9 @@ import ( ) // Lookup for margin and crop -func AutoCrop(img image.Image, cutRatioLeft, cutRatioUp, cutRatioRight, cutRatioBottom int) gift.Filter { +func AutoCrop(img image.Image, bounds image.Rectangle, cutRatioLeft, cutRatioUp, cutRatioRight, cutRatioBottom int) gift.Filter { return gift.Crop( - findMarging(img, cutRatioOptions{cutRatioLeft, cutRatioUp, cutRatioRight, cutRatioBottom}), + findMargin(img, bounds, cutRatioOptions{cutRatioLeft, cutRatioUp, cutRatioRight, cutRatioBottom}), ) } @@ -25,8 +25,8 @@ type cutRatioOptions struct { Left, Up, Right, Bottom int } -func findMarging(img image.Image, cutRatio cutRatioOptions) image.Rectangle { - imgArea := img.Bounds() +func findMargin(img image.Image, bounds image.Rectangle, cutRatio cutRatioOptions) image.Rectangle { + imgArea := bounds LEFT: for x := imgArea.Min.X; x < imgArea.Max.X; x++ {