Skip to content

Feature: Support color management for thumbnails/background images/wallpapers #17180

@fuweichin

Description

@fuweichin

What feature or improvement do you think would benefit Files?

Background

Many rencent monitors support DCI-P3 color gamut which can work in Display P3 color space, while Microsoft is now busy in AI domain and doesn't even care about color management for Windows built-in components/apps.

While Apple updated apps for macOS/iOS/iPadOS to support rendering of Display P3 since 2017. See also QL-Win/QuickLook#329 (comment)

Built-in apps with color management:

  • Microsoft Edge: open, "Save as image" from canvas
  • Microsoft Photos for Windows 11 (only when "Open" file, not when "Save as" another file)

Apps without color management (actually it's mainly the toochain which causes an app not color-managed):

  • Windows Explorer/Desktop
  • thirdparty Explorer extensions like WinQuickLook/ImageViewer, SVG Thumnail
  • PowerToys/Peek

Of course pro apps like Adobe Photoshop, MPC-HC already support color mangement.

Requirements

  1. When generating a thumbnail from an image, try to embed icc profile as input image is for the thumbnail
  2. When rendering a thumbnail,
    1. if color gamut of current display matches p3 then use working colorspace of display-p3 with rendering intent of 'relative colorimetric'
    2. else use working colorspace of srgb to render the thumbnail with rendering intent of 'perceptual' (or 'relative colorimetric' if user prefered)
  3. when moving window to another monitor and working colorspace will changed, try to refresh/re-render thumbails.
  4. When setting an image as desktop wallpaper, use the below method to avoid color info loss
    1. try to convert the image to JPEG with quality of 100%, preserving icc profile as is
    2. call system API IDesktopWallpaper::SetWallpaper which by default compress to JPEG with quiality of 85%, with ICC profile lost
    3. the converted JPEG file to %AppData\Microsoft\Windows\Themes\TranscodedWallpaper and overwrite
    4. restart Explorer to apply immediately

Files Version

3.9.9.0

Windows Version

10.0.26100.0

Comments

On Windows, an ICC profile should be specified for a monitor if the working color space of the monitor is not sRGB, otherwise you may suffer color shift. For general purpose use you just need to grab the ICC profile from your monitor vendor, and for professionals you even need to calibrate the monitor with color calibrator to get an accurate ICC profile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions