Identificer CMYK billeder fra .net
Jeg har brug for at kunne identificere om et billede er i CMYK eller RGB format. Jeg antager det må foregå ved en binær analyse på fil-plan, da fx. system.drawing.imaging.pixelformat kun arbejder i RGB. Jeg kan dog identificere det for TIFF billeder vha. system.drawing.imaging.pixelformat - når jeg åbner en CMYK tiff fil for da angives pixelformatet at være ARGB, dvs. med en alfa (transparent) komponent; jeg gætter på at alfa-kanalen i virkeligheden er den sorte kanal. For en RGB tiff viser pixelformat RGB, altså ingen alfakanal.Jeg har brug for at vide det for JPG og PNG filer. Oplysningen findes ikke i EXIF data, så jeg må nok åbne filen binært og lede efter identifikatorer, der kan bestemme farveformatet, men jeg kan ikke lige finde dem. På jpeg.org hjemmesiden har jeg dykket ned i specifikationerne, men kan ikke lige finde et svar. Det ser oven i købet for mig ud som om, at jpeg internt faktisk hverken gemmer i cmyk eller rgb men i YCrCb, dvs. én intensitetskomponent og to farvekomponenter.
Der findes forskellige komponenter til .net, fx. ser atalasofts dotimage fantastisk ud (http://www.atalasoft.com/Components/dotImage/), og den kan klare mit problem, men den koster 700$. Open source projektet imagemagick kan med sit "identify" ikke klare problemet (http://www.imagemagick.org/).