Odróżnienie CMYK od RGB | ITextSharp

0

Witam wszystkich.

Piszę proces na którego potrzeby potrzebuję odróżnić od Siebie formaty kolorów w ten sposób, żeby pomijać CMYKI. Na ta chwilę walidacja wygląda tak :

  PdfImageObject pdfImage = new PdfImageObject((PRStream)str);
                                
                                if (checkIfPdfImageObjectIsInCmyk(pdfImage)) continue;
    System.Drawing.Image image = pdfImage.GetDrawingImage();

                                if (image == null) continue;

                                String temporaryImagePath = temporaryDirPath + "\\tempIn" + watermarkedImgCount + ".jpg";
                                image.Save(temporaryImagePath);

                                String outputImgPath = temporaryDirPath + "\\tempOut" + watermarkedImgCount + ".jpg";

Korzystam poniżej z ITextSharp

  /** Sprawdza, czy dany obrazek w PDF jest w CMYK */
        private static bool checkIfPdfImageObjectIsInCmyk(PdfImageObject pdfImage)
        {
            var colorSpaceInfo = PdfReader.GetPdfObject(pdfImage.Get(PdfName.COLORSPACE));
         
            if (colorSpaceInfo != null) {
                if (colorSpaceInfo.IsArray())
                {
                    PdfArray colorSpaceValues = (PdfArray) colorSpaceInfo;
                    foreach (var value in colorSpaceValues)
                    {
                        if (value.IsName() && value.Equals(PdfName.DEVICECMYK))
                        {
                            return true;
                        }
                    }
                }
                else if (colorSpaceInfo.IsName() && colorSpaceInfo.Equals(PdfName.DEVICECMYK))
                {
                    return true;
                }
                else if (colorSpaceInfo.IsName() && colorSpaceInfo.Equals(PdfName.DEFAULTCMYK))
                {
                    return true;
                }
            }

            return false;
        }

Jednak niestety nie działa ona 100% poprawnie, ponieważ zdarza się że zdjęcia pochodzące z pdf-ów, po wgraniu do folderu, mają odwrócone kolory. Czym może to być spowodowane ? Może jest jakaś prostsza metoda do odróżniania CMYKÓW. Pozdrawiam

0

nikt nie wie jak odróznic cmyk od rgb ?

0

odwrócone czy po prostu tło się staje czarne? Zapisujesz wszystkie obrazki jako jpg, a te mogą mieć przeźroczystości których ten format nie obsługuje. Poza tym istnieje więcej przestrzeni kolorów niż tylko CMYK i RGB

0

odwrócone są kolory. Walidator wykrywa mi je jako ICC Base.

0

Czy w streamie obrazka jest jakaś informacja o cmyku ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1