예제 #1
0
        public override void Execute(EpsInterpreter interpreter)
        {
            var operand = interpreter.OperandStack.Pop();

            GraphicsState graphicState = interpreter.GraphicState;

            graphicState.ColorSpace = ColorSpaceActivator.CreateColorSpace(interpreter, operand);
        }
예제 #2
0
        public override void Execute(EpsInterpreter interpreter)
        {
            GraphicsState graphicState = interpreter.GraphicState;

            graphicState.ColorSpace = ColorSpaceActivator.CreateColorSpace(interpreter, EpsKeys.DeviceCMYK);

            graphicState.FillBrush = graphicState.ColorSpace.GetBrushDescriptor(interpreter.OperandStack.PopToList(graphicState.ColorSpace.GetNumberOfValuesPerColor()),
                                                                                graphicState.CurrentTransformationMatrix);
        }
예제 #3
0
        /// <summary>
        /// Init
        /// </summary>
        public void Init(EpsInterpreter interpreter, DictionaryOperand shadingDict)
        {
            var colorSpaceOperand = shadingDict.Dictionary.Find(EpsKeys.ColorSpace);

            colorSpace = ColorSpaceActivator.CreateColorSpace(interpreter, colorSpaceOperand);

            var functionDict = shadingDict.Dictionary.GetDictionary(EpsKeys.Function);

            function = FunctionActivator.CreateFunction(functionDict);

            var coordsArray = shadingDict.Dictionary.GetArray(EpsKeys.Coords);
            var coords      = OperandHelper.GetRealValues(coordsArray);

            coords0 = new Point(coords[0], coords[1]);
            coords1 = new Point(coords[2], coords[3]);
        }