From 7d9e5faeec341702aa09c92cb4caffd566182066 Mon Sep 17 00:00:00 2001 From: ospab Date: Fri, 10 Jul 2026 00:24:28 +0300 Subject: [PATCH] fix(flutter): eagle watermark rendered as a flat gray square MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit assets/logo.png had NO real alpha transparency — both the background and the eagle shape were fully opaque (A=255 everywhere), just baked in as near-black (3,3,3) vs near-white (253,253,253) RGB. Applying `color: Colors.white` to tint it painted the WHOLE bounding square white (alpha being 255 across the entire image gives BlendMode nothing to mask against), which at low Opacity looked like a flat gray square instead of a silhouette. Converted the asset in place: since it was already grayscale (R=G=B), each pixel's luminance became its new alpha channel, RGB set to pure white. The background (near-black, low luminance) is now near-transparent; the eagle (near-white, high luminance) is now near-opaque. This is the same effect the desktop GUI gets for free from its logo.svg (a vector eagle path with no background element at all — inherently transparent), just reproduced for a raster asset without adding flutter_svg as a new dependency. The `color: Colors.white` tint in both watermark call sites is now redundant (the asset is already a pure-white silhouette) and removed. --- ostp-flutter/assets/logo.png | Bin 13328 -> 11368 bytes ostp-flutter/lib/ui/home_screen.dart | 4 +++- ostp-flutter/lib/ui/settings_screen.dart | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ostp-flutter/assets/logo.png b/ostp-flutter/assets/logo.png index da83aebc97c4ac196c6e5b900982b7ef5e4f22da..b8c1f6ae3f7b7e511e30b176f99129ebfe0be0fc 100644 GIT binary patch literal 11368 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 diff --git a/ostp-flutter/lib/ui/home_screen.dart b/ostp-flutter/lib/ui/home_screen.dart index 63e1604..d6f8519 100644 --- a/ostp-flutter/lib/ui/home_screen.dart +++ b/ostp-flutter/lib/ui/home_screen.dart @@ -486,7 +486,9 @@ class _HomeScreenState extends State with TickerProviderStateMixin { child: Image.asset( 'assets/logo.png', width: MediaQuery.of(context).size.shortestSide * 0.6, - color: Colors.white, + // No color tint needed — the asset now carries real alpha + // (background pixels' luminance was baked into alpha, see + // git history), so it's already a pure white silhouette. ), ), ), diff --git a/ostp-flutter/lib/ui/settings_screen.dart b/ostp-flutter/lib/ui/settings_screen.dart index 059185a..5bce972 100644 --- a/ostp-flutter/lib/ui/settings_screen.dart +++ b/ostp-flutter/lib/ui/settings_screen.dart @@ -564,7 +564,9 @@ class _SettingsScreenState extends State { child: Image.asset( 'assets/logo.png', width: MediaQuery.of(context).size.shortestSide * 0.6, - color: Colors.white, + // No color tint needed — the asset now carries real alpha + // (background pixels' luminance was baked into alpha, see + // git history), so it's already a pure white silhouette. ), ), ),