From 737786f9a8fcdf8eabec9bf08c7b1e580e293fca Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Wed, 7 Jun 2023 11:52:01 -0400 Subject: [PATCH] WebP: Add test image for horizontal image filtering I opened smolkling.webp in Photoshop, added a layer mask with a horizontal gradient, and saved it as webp. That wasn't enough to get a horizontal filter for the ALPH chunk though, so I also ran cwebp \ -alpha_filter best \ smolkling-ps.webp \ -o Tests/LibGfx/test-inputs/smolkling-horizontal-alpha.webp That did the trick. (Looks like doing the same with a vertical or diagonal gradient _also_ produces a webp file with filtering_method 1, i.e. horizontal.) --- .../test-inputs/smolkling-horizontal-alpha.webp | Bin 0 -> 16664 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/LibGfx/test-inputs/smolkling-horizontal-alpha.webp diff --git a/Tests/LibGfx/test-inputs/smolkling-horizontal-alpha.webp b/Tests/LibGfx/test-inputs/smolkling-horizontal-alpha.webp new file mode 100644 index 0000000000000000000000000000000000000000..e419893beca0e321b61ea33aee69cf66db9af933 GIT binary patch literal 16664 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