/// <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); }
/// <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); }