Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在itextsharp中将圆形颜色边框添加到pdfpcell_C#_Itextsharp_Itext - Fatal编程技术网

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

C# 在itextsharp中将圆形颜色边框添加到pdfpcell,c#,itextsharp,itext,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("#2AB

我正在使用此代码为我的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();
}
 }
我得到了圆形边框,但它是黑色的,我想给我的自定义颜色边框圆角半径


有人能帮我吗?

因为您正在将
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();

我也可以给桌子加边框吗?我想创建一个具有圆角边框的表,并在该表中插入另一个具有3个单元格的表(嵌套表)?有一个
PdfPTableEvent
,您可以以与
pdfpcelleevent
类似的方式使用它。看一看。它为桌子绘制圆角背景。要获得边框,只需将填充操作替换为笔划操作即可。