在itextsharp中将圆形颜色边框添加到pdfpcell

时间:2015-10-09 20:34:08

标签: c# itextsharp itext

我使用此代码为我的pdfpcell提供边框半径

cell.Border = PdfPCell.NO_BORDER;
cell.CellEvent = new RoundedBorder();
Color color2 = new Color(System.Drawing.ColorTranslator.FromHtml("#2AB1C3"));
cell.BorderColor = new Color(System.Drawing.ColorTranslator.FromHtml("#2AB1C3"));
cell.BorderWidth = 2f;

和函数RoundedBorder

public class RoundedBorder : IPdfPCellEvent
{  
    public void CellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvas)

 PdfContentByte cb = canvas[PdfPTable.BACKGROUNDCANVAS];
cb.RoundRectangle(
     rect.Left + 1.5f,
     rect.Bottom + 1.5f,
     rect.Width - 3,
     rect.Height - 3, 4
   );
cb.Stroke();
}
 }

我有圆角边框,但它有黑色,我想将自定义颜色边框赋予圆角半径

任何人都可以帮我吗???

1 个答案:

答案 0 :(得分:2)

由于您要将PdfPCell配置为没有边框(cell.Border = PdfPCell.NO_BORDER),因此设置边框宽度和颜色等边框属性不会产生任何影响。

您必须在单元格事件中定义笔触操作的颜色,例如为红色边框:

cb.SetRGBColorStroke(255, 0, 0);
cb.RoundRectangle(
 rect.Left + 1.5f,
 rect.Bottom + 1.5f,
 rect.Width - 3,
 rect.Height - 3, 4
);
cb.Stroke();