From a53a4b32ebb2d793076f62ac9782a5bf17686d83 Mon Sep 17 00:00:00 2001 From: zach Date: Wed, 13 May 2026 19:43:34 +0200 Subject: [PATCH] fix shadow blur cut off in screenshots --- zshell-img-tools/src/effects.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/zshell-img-tools/src/effects.rs b/zshell-img-tools/src/effects.rs index e6d41f6..a7c1cdc 100644 --- a/zshell-img-tools/src/effects.rs +++ b/zshell-img-tools/src/effects.rs @@ -54,11 +54,12 @@ pub fn apply_drop_shadow( ) -> RgbaImage { let (iw, ih) = img.dimensions(); let br = blur_radius.ceil() as u32; + let spread = br * 2; - let extra_left = br.saturating_sub((-offset_x).max(0.0) as u32); - let extra_top = br.saturating_sub((-offset_y).max(0.0) as u32); - let extra_right = br + offset_x.max(0.0) as u32; - let extra_bottom = br + offset_y.max(0.0) as u32; + let extra_left = spread + (-offset_x).max(0.0).ceil() as u32; + let extra_top = spread + (-offset_y).max(0.0).ceil() as u32; + let extra_right = spread + offset_x.max(0.0).ceil() as u32; + let extra_bottom = spread + offset_y.max(0.0).ceil() as u32; let canvas_w = iw + extra_left + extra_right; let canvas_h = ih + extra_top + extra_bottom;