bugMyPaint - Bugs: bug #19537, [color-management] Support...

Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #19537: [color-management] Support embedded image profiles

Submitted by:  David REVOY <deevad>
Submitted on:  Sat Mar 10 12:39:37 2012  
Severity: 1 - WishPriority: 5 - Normal
Status: PostponedPrivacy: Public
Assigned to: Andrew Chadwick <achadwick>Open/Closed: Closed
Release: 0.1.0Git+Planned Release: None
Operating System: Linux

(Jump to the original submission Jump to the original submission)

Mon Jun 23 17:41:17 2014, comment #6:

Migrated the saving part of this to github as a post-1.2 enhancement: https://github.com/mypaint/mypaint/issues/5

Andrew Chadwick <achadwick>
Project AdministratorIn charge of this item.
Sat Jan 5 13:45:18 2013, comment #5:

Keeping the related bug #20131 for display aspects of color management, so this one can be just about load/save and managing of embedded color profiles.

Jon Nordby <jonnor>
Project Administrator
Thu Apr 12 03:35:55 2012, comment #4:

Hey sorry for the lake of feedback on this topic.
I paste here the log of IRC from yesterday as it's related directly to this thread. Again thank you.

11:50<deevad> achadwick: Hey, I saw the last commits, and super to see progress on color management in Mypaint. thanks.

14:06<achadwick> Less like "management", more like "dump everything into sRGB". But it's a start.

15:25<deevad> Sure, I like this dump everything to sRGB ; I think you shouldn't fear of making old Mypaint files *.ora untagged to sRGB ( I read the comments of commits )

20:08<achadwick> Transitioning old .ora files which expect sRGB compositing to a linear compositing world is going to be even more fun :/ You can't automatically "fix" a file with 8bpc and gamma compression without losing fidelity.

20:48<deevad> oh, ok. I didn't knew it.

24:41<deevad> achadwick: Will Mypaint be also able to take the monitor calibration icc profile in account ?

27:46<achadwick> I don't think we've planned that far ahead. If the profile can be discovered, and there's a good way of making it work with Cairo, then maybe one day.

29:49<achadwick> Moving tileddrawwidget to OpenGL would be a nice thing to consider, but it'd be a lot of work and would likely get in the way of gtk3 porting (which is still unplanned; we need developer time for that)

30:28<deevad> achadwick: oh good. For the moment , I have difficulties to re-open my *.ora artwork in Mypaint after working them on Krita ; krita use only sRGB and grab the monitor calibration too. My reds and green are so different on Mypaint that I don't like to finish my artwork on it as I was used before.

31:16<deevad> one work around would be to turn of my calibration profile , but ... mheeee

31:40<deevad> XD

David REVOY <deevad>
Project Member
Sat Apr 7 19:18:45 2012, comment #3:

Okay, I've pushed some basic support I had lying around for transforming PNG files when they're read in. It's just a start, but it seems to handle the test files I have lying around.

New dependency: lcms2. Install liblcms2-dev if you're on a
Debian-based system, and a recompile is needed too.

I can't test with the oyranos.org test images you provided because they're JPEGs. The commit should work with PNG files (16bpp and 8bpp) and ORA files from other sources.

Could you test it out with a few saves from Krita? Let me know if you see it screwing up alpha (possibly the hackiest code in this commit), or if the colours seem really strange, clipped, posterized(!), or dithered where Krita itself doesn't do that :)

Andrew Chadwick <achadwick>
Project AdministratorIn charge of this item.
Sat Apr 7 16:14:09 2012, comment #2:

BTW, Krita uses linear light for compositing internally, and GIMP's GEGL-based compositing in newer versions will use linear light too, as I understand it. The difference is actually quite stark for files which use low-alpha overlays:


Just so you know: there will be differences remaining after the code fixing this bug is merged with MyPaint master because Krita and MyPaint composite layers slightly differently.

We definitely want a bare minimum of colour management, even if it only happens on loading images with embedded CMS chunks and we assume your display is sRGB (initially).

Andrew Chadwick <achadwick>
Project AdministratorIn charge of this item.
Sat Apr 7 16:04:32 2012, comment #1:

Messing around with lcms2 as part of the linear light branches, so assigning to myself. Boud sent me some test images with embedded ICC info so I'm good to test. I'm in merge hell at the moment, but I'll try to push it early. I think it would be safe to merge this to master early because it won't affect the way older MyPaint images look.

What you'll get is correction on load when MyPaint loads a PNG or an OpenRaster file. MyPaint will save PNGs and ORAs without embedded colour management chunks, but the files will be implicit-sRGB.

(I want to use lack of colour management chunks as part of the way we detect older, "implicit-sRGB with sRGB compositing" MyPaint ORAs and continue to allow artists to work with them. Whether or not this is a good idea is still up for debate; one drawback is that one cannot convert a file using sRGB compositing to linear compositing very easily.)

Andrew Chadwick <achadwick>
Project AdministratorIn charge of this item.
Sat Mar 10 12:39:37 2012, original submission:

It's hard to get a consistent color workflow (RGB) working with Mypaint within a chain of other application with Color management especially since my workflow evolved to Mypaint<>Krita duo ( Krita is a application with color management only ). it result in subtle difference (this jpg doesn't do real justice to the difference, but the idea is here ):

It would be great if Mypaint could support embedded image profiles and do colour correct on the fly to the monitor.

picture for test & infos :

David REVOY <deevad>
Project Member


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by jonnor (Posted a comment)
  • -unavailable- added by achadwick (Posted a comment)
  • -unavailable- added by deevad (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Error: not logged in



    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon Jun 23 17:41:17 2014achadwickStatusIn Progress=>Postponed
    Sat Jan 5 13:45:18 2013jonnorSummarySupport embedded image profiles and to colour correct on the fly to the monitor=>[color-management] Support embedded image profiles
    Sat Apr 7 19:19:09 2012achadwickStatusConfirmed=>In Progress
    Sat Apr 7 16:04:32 2012achadwickStatusNone=>Confirmed
      Assigned toNone=>achadwick
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup