From 41f382516dd638847bd9ef9815f6a7c5b0d6734c Mon Sep 17 00:00:00 2001 From: Keir Finlow-Bates Date: Sun, 13 Aug 2023 23:40:24 +0300 Subject: [PATCH] 66% speedup --- web/public/img/feature.png | Bin 0 -> 7257 bytes web/src/pages/HomePage/HomePage.tsx | 26 ++------------------------ 2 files changed, 2 insertions(+), 24 deletions(-) create mode 100644 web/public/img/feature.png diff --git a/web/public/img/feature.png b/web/public/img/feature.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e888e897bcd7138cec5f3419ec08d9fc54bb8b GIT binary patch literal 7257 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 OPgl!OGi#Sk=zjqilQ#MQ literal 0 HcmV?d00001 diff --git a/web/src/pages/HomePage/HomePage.tsx b/web/src/pages/HomePage/HomePage.tsx index e901c8b..96a56a3 100644 --- a/web/src/pages/HomePage/HomePage.tsx +++ b/web/src/pages/HomePage/HomePage.tsx @@ -51,33 +51,11 @@ const HomePage = () => { const updateIcon = async (hue, sat) => { const base = await Jimp.read('/img/base.png') - const bottom = await Jimp.read('/img/bottom.png') - const middle = await Jimp.read('/img/middle.png') - const top = await Jimp.read('/img/top.png') + const feature = await Jimp.read('/img/feature.png') const constructed = await base .clone() .composite( - bottom - .color([ - {apply: 'hue', params: [hue]}, - {apply: 'saturate', params: [sat]} - ]), - 0, - 0, - { mode: Jimp.BLEND_SOURCE_OVER } - ) - .composite( - middle - .color([ - {apply: 'hue', params: [hue]}, - {apply: 'saturate', params: [sat]} - ]), - 0, - 0, - { mode: Jimp.BLEND_SOURCE_OVER } - ) - .composite( - top + feature .color([ {apply: 'hue', params: [hue]}, {apply: 'saturate', params: [sat]}