コード例 #1
0
        private void WriteStroke(PdfContentByte canvas, Path path, PdfName strokeColorSpace)
        {
            canvas.InternalBuffer.Append(q);

            if (strokeColorSpace != null)
            {
                strokeColorSpace.ToPdf(canvas.PdfWriter, canvas.InternalBuffer);
                canvas.InternalBuffer.Append(' ').Append(cs);
            }

            IList <PdfObject> strokeColorOperands = cleanUpStrategy.Context.PeekStrokeColor();
            String            strokeOperatorStr   = strokeColorOperands[strokeColorOperands.Count - 1].ToString();

            // Below expression converts stroke color operator to its fill analogue.
            strokeColorOperands[strokeColorOperands.Count - 1] = new PdfLiteral(strokeOperatorStr.ToLower());
            WriteOperands(canvas, strokeColorOperands);

            WritePath(cleanUpStrategy.CurrentStrokePath, f, canvas);

            canvas.InternalBuffer.Append(Q);
        }