将已安装的图像颜色配置文件(.icm)添加到C#中的图像中

时间:2014-09-21 18:52:28

标签: c# image colors

在我的一个C#项目(.net framework 4.0)中,我需要将已安装的颜色配置文件添加到窗口中,如果它已经没有颜色配置文件的话。 我谷歌并没有在.net中找到任何颜色配置文件管理,所以我采用了imagemagick库并使用它的" addprofile"方法,但在我准备好图像后添加并保存图像后,它不包含颜色配置文件。在互联网上搜索时,我发现在应用您的自定义颜色配置文件之前应用colorprofile.sRGB,我也这样做,当我读取图像时,它包含颜色配置文件" icc"在图像中。以下是添加代码的颜色配置文件

using (MagickImage image = new MagickImage(outputFilePath))
            {
                ImageMagick.ColorProfile colorProfile = image.GetColorProfile();
                if (colorProfile == null)
                {
                    //Add sRGB color profile before adding your custom color profile
                    image.AddProfile(ImageMagick.ColorProfile.SRGB);
                    //ICSPrfile is the object containing the name and path of availabe prfiles
                    //_profilesRGB is the list containing the ICSProfiles
                    foreach (ICSProfile prof in _profilesRGB)
                        if (prof.Name.Equals(comboBoxRGBProfile.SelectedItem))
                            image.AddProfile(new ImageMagick.ImageProfile(prof.Name, File.ReadAllBytes(prof.FilePath)));

                    //Write update profile file
                    image.Write(outputFilePath);
                }//End if
            }//End using

现在,我不确定,在编写此代码后,我的图像是否包含自定义颜色配置文件。是否我写了正确的代码?以及如何检查图像中的颜色配置文件。

0 个答案:

没有答案