I had actually already tried manually setting an sRGB profile just as you suggested, but it made no difference. It seems to need to be embedded in the image file to begin with. To be clear, this is what I am currently running:
As for RemoveProfile(), I have played around a bit more. It seems to work only on profiles that were added programmatically. In other words, it will remove a colour profile that was previously added with AddProfile(), but it will not remove a profile that is associated with the image in the file on disk that the image was read from.
image = new MagickImage();
image.Read(@"E:\test.jpg");
image.AddProfile(ColorProfile.SRGB);
image.AddProfile(new ColorProfile(@"C:\...\LP2475w_20090407.icc"));
which does not apply the colour profileimage = new MagickImage();
image.Read(@"E:\test sRGB.jpg");
image.AddProfile(new ColorProfile(@"C:\...\LP2475w_20090407.icc"));
... whereas this does (test sRGB.jpg is exactly the same image file, but set in Photoshop to use the default system sRGB profile instead of not being colour managed; the image data is identical).As for RemoveProfile(), I have played around a bit more. It seems to work only on profiles that were added programmatically. In other words, it will remove a colour profile that was previously added with AddProfile(), but it will not remove a profile that is associated with the image in the file on disk that the image was read from.