コード例 #1
0
ファイル: PdfFunction.cs プロジェクト: Daoting/dt
        /// <summary>
        /// Type0s the specified domain.
        /// </summary>
        /// <param name="domain">The domain.</param>
        /// <param name="range">The range.</param>
        /// <param name="size">The size.</param>
        /// <param name="bitsPerSample">The bits per sample.</param>
        /// <param name="order">The order.</param>
        /// <param name="encode">The encode.</param>
        /// <param name="decode">The decode.</param>
        /// <param name="stream">The stream.</param>
        /// <returns></returns>
        public static PdfStream Type0(float[] domain, float[] range, int[] size, int bitsPerSample, int order, float[] encode, float[] decode, byte[] stream)
        {
            if (domain == null)
            {
                throw new PdfArgumentNullException("domain");
            }
            if (size == null)
            {
                throw new PdfArgumentNullException("size");
            }
            PdfVersionDependStream stream2 = new PdfVersionDependStream(PdfFilter.FlateFilter);

            stream2.Properties.Add(PdfName.FunctionType, PdfNumber.Zero);
            stream2.Properties.Add(PdfName.Domain, PdfArray.Convert(domain));
            stream2.Properties.Add(PdfName.Size, PdfArray.Convert(size));
            stream2.Properties.Add(PdfName.BitsPerSample, new PdfNumber((double)bitsPerSample));
            if (range != null)
            {
                stream2.Properties.Add(PdfName.Range, PdfArray.Convert(range));
            }
            if (order != -1)
            {
                stream2.Properties.Add(PdfName.Order, new PdfNumber((double)order));
            }
            if (encode != null)
            {
                stream2.Properties.Add(PdfName.Encode, PdfArray.Convert(encode));
            }
            if (decode != null)
            {
                stream2.Properties.Add(PdfName.Decode, PdfArray.Convert(decode));
            }
            if (stream != null)
            {
                stream2.Psw.WriteBytes(stream);
            }
            stream2.PdfVersion = PdfVersion.PDF1_2;
            return(stream2);
        }
コード例 #2
0
ファイル: PdfFunction.cs プロジェクト: Daoting/dt
        /// <summary>
        /// Type4s the specified domain.
        /// </summary>
        /// <param name="domain">The domain.</param>
        /// <param name="range">The range.</param>
        /// <param name="postscript">The postscript.</param>
        /// <returns></returns>
        public static PdfStream Type4(float[] domain, float[] range, string postscript)
        {
            if (domain == null)
            {
                throw new PdfArgumentNullException("domain");
            }
            if (postscript == null)
            {
                throw new PdfArgumentNullException("postscript");
            }
            PdfVersionDependStream stream = new PdfVersionDependStream(PdfFilter.FlateFilter);

            stream.Properties.Add(PdfName.FunctionType, PdfNumber.Four);
            stream.Properties.Add(PdfName.Domain, PdfArray.Convert(domain));
            if (range != null)
            {
                stream.Properties.Add(PdfName.Range, PdfArray.Convert(range));
            }
            stream.Psw.WriteString(postscript);
            stream.PdfVersion = PdfVersion.PDF1_3;
            return(stream);
        }