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);
        }
示例#2
0
 public ColorValueExtent(ColorSpace colorSpace, MetafileColor minimum, MetafileColor maximum)
     : this()
 {
     if (colorSpace != ColorSpace.RGB && colorSpace != ColorSpace.CMYK)
     {
         throw new ArgumentOutOfRangeException("colorSpace", colorSpace, "Color Space must be either RGB or CMYK for use with this constructor");
     }
     ColorSpace = colorSpace;
     Minimum    = minimum;
     Maximum    = maximum;
 }
        public static ColorValueExtent ColorValueExtent(MetafileReader reader, CommandHeader commandHeader)
        {
            // If the model is RGB or CMYK, then 2 parameters:
            // P1: (direct colour value) minimum colour value
            // P2: (direct colour value) maximum colour value
            // If the model is CIELAB, CIELUV, or RGB-related then 3 parameters:
            // P1: (real) scale and offset pair for first component
            // P2: (real) scale and offset pair for second component
            // P3: (real) scale and offset pair for third component
            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);
        }
示例#4
0
 public FillColor(MetafileColor color)
     : base(5, 23)
 {
     Color = color;
 }
示例#5
0
 public EdgeColor(MetafileColor color)
     : base(5, 29)
 {
     Color = color;
 }
示例#6
0
 public TextColor(MetafileColor color)
     : base(5, 14)
 {
     Color = color;
 }
示例#7
0
 public MarkerColor(MetafileColor color)
     : base(5, 8)
 {
     Color = color;
 }
示例#8
0
 public LineColor(MetafileColor color)
     : base(5, 4)
 {
     Color = color;
 }
示例#9
0
 public BackgroundColor(MetafileColor color)
     : base(2, 7)
 {
     Color = color;
 }
示例#10
0
 public AuxiliaryColor(MetafileColor color)
     : base(3, 3)
 {
     Color = color;
 }