public static ColorValueExtent ColorValueExtent(MetafileReader reader)
        {
            ColorValueExtent result;

            if (reader.Descriptor.ColorModel == ColorModel.RGB)
            {
                MetafileColor min = reader.ReadDirectColor();
                MetafileColor max = reader.ReadDirectColor();
                result = new ColorValueExtent(ColorSpace.RGB, min, max);
            }
            else if (reader.Descriptor.ColorModel == ColorModel.CMYK)
            {
                MetafileColor min = reader.ReadDirectColor();
                MetafileColor max = reader.ReadDirectColor();
                result = new ColorValueExtent(ColorSpace.CMYK, min, max);
            }
            else if (reader.Descriptor.ColorModel == ColorModel.CIELAB || reader.Descriptor.ColorModel == ColorModel.CIELUV || reader.Descriptor.ColorModel == ColorModel.RGBrelated)
            {
                double firstScale   = reader.ReadReal();
                double firstOffset  = reader.ReadReal();
                double secondScale  = reader.ReadReal();
                double secondOffset = reader.ReadReal();
                double thirdScale   = reader.ReadReal();
                double thirdOffset  = reader.ReadReal();
                result = new ColorValueExtent(ColorSpace.CIE, firstScale, firstOffset, secondScale, secondOffset, thirdScale, thirdOffset);
            }
            else
            {
                // unsupported, just return a default unknown color space
                result = new ColorValueExtent();
            }

            return(result);
        }
Esempio n. 2
0
        public static ColorTable ColorTable(MetafileReader reader)
        {
            int startIndex = reader.ReadColorIndex();
            var colors     = new List <MetafileColor>();

            while (reader.HasMoreData())
            {
                colors.Add(reader.ReadDirectColor());
            }
            return(new ColorTable(startIndex, colors.ToArray()));
        }
Esempio n. 3
0
 public static BackgroundColor BackgroundColor(MetafileReader reader)
 {
     return(new BackgroundColor(reader.ReadDirectColor()));
 }