diff --git a/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp b/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp index 8e2cebee1d..baf1541bdd 100644 --- a/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp +++ b/Userland/Libraries/LibGfx/ImageFormats/ILBMLoader.cpp @@ -163,6 +163,8 @@ static ErrorOr> chunky_to_bitmap(ILBMLoadingContext& context color = Color(chunky[index], chunky[index + 1], chunky[index + 2]); } else if (chunky[index] < context.color_table.size()) { color = context.color_table[chunky[index]]; + if (context.bm_header.mask == MaskType::HasTransparentColor && chunky[index] == context.bm_header.transparent_color) + color = color.with_alpha(0); } else if (has_flag(context.viewport_mode, ViewportMode::HAM)) { // Get the control bit which will tell use how current pixel should be calculated u8 control = (chunky[index] >> context.cmap_bits) & 0x3;