New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for reading writing ICC profiles in Jpeg #74
Comments
attached is a jpg that has its colors muted when saved back to a new jpg file. i get the same results when i save this out of photoshop into sRGB. hth |
I wrote a color library in C# which has ICC reading/writing already built in. |
Hi @JBildstein, Thanks so much for getting in touch and helping out! ICC profiles are are complicated beast and your experience is most welcome! I've made a start in a feature/icc branch by adding a large number of the tags and descriptions from the specification. I've shifted my focus just now though to porting the color conversion code from Colourful.NET into our library replacing the current colorspaces (We can't use your conversion code as a basis as it uses reflection.Emit) I'll be doing a lot of work within that conversion to boost performance. I've made a good start, just not pushed anything yet. If you could focus on ICC reading/writing that would be great! Managing the combination of our work is the trickiest part and I think the best way to do this is as follows.
Doing the above make handling merges much easier and allows us to move rapidly. How does that sound? Cheers James |
sure, no problem! I'm happy that my endless reading of the ICC specs helps someone 😄 Using Colorful.NET as a basis for the color conversion is a good idea since, as you said, my conversion is not compatible with .Net Core and his is very likely also easier to read. |
I've created the PR here. If you work on the feature/icc branch it'll automatically update. I'll be having a very close look at your library to combine the best of both worlds. |
This is almost ready to close. A few conversion bits and we're laughing 👏 |
Jim's branch had been merged back in May. Is there anything more to do, or can this ticket be closed? |
@pkese We still don't have conversion using those classes in our jpeg decoder. Once we have them I'll close this. |
ICC conversion is tracked here: #273 |
@JBildstein No worries there, we've got time 😄 . If there's anything I can help with please let me know. |
@JimBobSquarePants good to know ^^ but I think it should definitely be done by 1.0 |
Good man, no worries |
I'm closing this. We can read/write Icc Profiles now. Converting between is a different matter covered by #1567 |
Currently we lack support for reading/writing ICC color profiles within Jpeg.
This directly negatively affects the color conversion process that we use for converting YCCK or CMYK jpeg images and prevents us from supporting DCI-P3
Reading in C# should be achievable using code based on Drew Noakes MetaDataExtractor (Apache 2.)
https://github.com/drewnoakes/metadata-extractor-dotnet/blob/5411bd3cad10facfd01deb4b1f6878ee242d98a0/MetadataExtractor/Formats/Icc/IccReader.cs
We'll have to additionally figure out how the conversion process takes place. there's info in WikiPedia but it's limited. @antonfirsov Could you possibly have a dig around libjeg-turbo and see if you can find how it's dealt with there? - My C is poor so I struggle to follow that codebase.
We probably don't need the ability to write a profile, just to store it within the image @dlemstra Perhaps we can work in your plan to store different profiles here?
Please comment below on your thoughts everyone.
The text was updated successfully, but these errors were encountered: