コード例 #1
0
        /// <summary>
        /// init
        /// </summary>
        public void Init(PdfDictionary functionDict)
        {
            var domainArray    = functionDict.Elements.GetArray(PdfKeys.Domain);
            var rangeArray     = functionDict.Elements.GetArray(PdfKeys.Range);
            var functionsArray = functionDict.Elements.GetArray(PdfKeys.Functions);
            var encodeArray    = functionDict.Elements.GetArray(PdfKeys.Encode);

            var e0 = encodeArray.Elements.GetReal(0);
            var e1 = encodeArray.Elements.GetReal(1);

            // for Illustrator it doesn't make sense to revert only one function
            // we assume either none or all functions are reverted
            reverse = e0 > e1;

            var boundsArray = functionDict.Elements.GetArray(PdfKeys.Bounds);

            bounds = PdfUtilities.CreateDoubleList(boundsArray);
            bounds.Insert(0, domainArray.Elements.GetReal(0));
            bounds.Add(domainArray.Elements.GetReal(1));

            functions = new List <IFunction>();

            for (int i = 0; i < functionsArray.Elements.Count; i++)
            {
                var fDict    = functionsArray.Elements.GetDictionary(i);
                var function = FunctionManager.ReadFunction(fDict);
                functions.Add(function);
            }
        }
コード例 #2
0
        /// <summary>
        /// init
        /// </summary>
        public void Init(PdfDictionary functionDict)
        {
            var domainArray = functionDict.Elements.GetArray(PdfKeys.Domain);
            //var rangeArray = functionDict.Elements.GetArray(PdfKeys.Range);
            var c0Array = functionDict.Elements.GetArray(PdfKeys.C0);
            var c1Array = functionDict.Elements.GetArray(PdfKeys.C1);
            var n       = functionDict.Elements.GetReal(PdfKeys.N);

            domain0 = domainArray.Elements.GetReal(0);
            domain1 = domainArray.Elements.GetReal(1);

            c0 = PdfUtilities.CreateDoubleList(c0Array);
            c1 = PdfUtilities.CreateDoubleList(c1Array);
        }
コード例 #3
0
        public void Init(PdfDictionary functionDict)
        {
            var domainArray = functionDict.Elements.GetArray(PdfKeys.Domain);
            var rangeArray  = functionDict.Elements.GetArray(PdfKeys.Range);

            domains = PdfUtilities.CreateDoubleList(domainArray);
            ranges  = PdfUtilities.CreateDoubleList(rangeArray);

            script = functionDict.Stream.ToString();
            script = script.Trim();

            if (script[0] == '{')
            {
                script = script.Substring(1, script.Length - 2);
            }
        }