iText技术入门

 时间:2026-02-15 04:50:27

1、private void DirectDrawResume(PdfContentByte   canvas)

{

PicRidus = 90;

float PicPositonRate = 0.3f;

int ItemLength = 550;

ItemHeigth = 90;

ItemBaseStart = 750;

double openAngle = 100;

int numberSpace = 10;

float SpaceRate = 0.3f;

openAngle = openAngle * Math.PI / 180;

canvas.SetLineWidth(1);

canvas.SetColorFill(BaseColor.GRAY);

PicCirclePoint = new PointF(ItemLength   * PicPositonRate, ItemBaseStart);

PointF Beiseir2 = new PointF(PicCirclePoint.X - PicRidus * (float)Math.Sin(openAngle / 2), PicCirclePoint.Y + PicRidus *   (float)Math.Cos(openAngle / 2));

PointF Beiseir1 = new PointF(PicCirclePoint.X - PicRidus - 1 / 2 * PicRidus *   PicRidus * (float)Math.Sin(Math.Asin(ItemHeigth / 2f / PicRidus) - openAngle / 2), PicCirclePoint.Y   + ItemHeigth / 2);

PointF BeiseirControl = new PointF(Beiseir2.X - (Beiseir2.Y - Beiseir1.Y) / (float)Math.Tan(openAngle / 2), Beiseir1.Y);

canvas.Rectangle(0, Beiseir1.Y - ItemHeigth,   ItemLength, ItemHeigth);

canvas.Fill();

canvas.Arc(ItemLength - ItemHeigth /   2, ItemBaseStart - ItemHeigth / 2, ItemLength + ItemHeigth / 2, ItemBaseStart   + ItemHeigth / 2, 90, -180);

canvas.Fill();

//填充贝塞尔

canvas.MoveTo(PicCirclePoint.X,   PicCirclePoint.Y);

canvas.LineTo(Beiseir1.X,   Beiseir1.Y);

canvas.CurveTo(BeiseirControl.X,   BeiseirControl.Y, Beiseir2.X, Beiseir2.Y);

canvas.Fill();

canvas.MoveTo(PicCirclePoint.X,   PicCirclePoint.Y);

canvas.LineTo(2 * PicCirclePoint.X -   Beiseir2.X, Beiseir2.Y);

canvas.CurveTo(2 * PicCirclePoint.X   - BeiseirControl.X, BeiseirControl.Y, 2 * PicCirclePoint.X - Beiseir1.X,   Beiseir1.Y);

canvas.Fill();

canvas.MoveTo(PicCirclePoint.X,   PicCirclePoint.Y);

canvas.LineTo(2 * PicCirclePoint.X -   Beiseir1.X, Beiseir1.Y - ItemHeigth);

canvas.CurveTo(2 * PicCirclePoint.X   - BeiseirControl.X, BeiseirControl.Y - ItemHeigth, 2 * PicCirclePoint.X -   Beiseir2.X, 2 * PicCirclePoint.Y - Beiseir2.Y);

canvas.Fill();

canvas.MoveTo(PicCirclePoint.X,   PicCirclePoint.Y);

canvas.LineTo(Beiseir2.X, 2 *   PicCirclePoint.Y - Beiseir2.Y);

canvas.CurveTo(BeiseirControl.X,   BeiseirControl.Y - ItemHeigth, Beiseir1.X, Beiseir1.Y - ItemHeigth);

canvas.Fill();

for (int i = 0; i < numberSpace; i++)

{

canvas.Arc(PicCirclePoint.X -   PicRidus, PicCirclePoint.Y - PicRidus, PicCirclePoint.X + PicRidus,   PicCirclePoint.Y + PicRidus, (float)(90 + openAngle * 90 / Math.PI - openAngle * 180 / Math.PI *   SpaceRate / (numberSpace + SpaceRate) - openAngle * 180 / Math.PI / (numberSpace + SpaceRate) * i), (float)(-openAngle * 180 / Math.PI * (1 - SpaceRate) /   (numberSpace + SpaceRate)));

canvas.LineTo(PicCirclePoint.X,   PicCirclePoint.Y);

canvas.Fill();

}

for (int i = 0; i < numberSpace; i++)

{

canvas.Arc(PicCirclePoint.X -   PicRidus, PicCirclePoint.Y - PicRidus, PicCirclePoint.X + PicRidus,   PicCirclePoint.Y + PicRidus, (float)(openAngle * 90 / Math.PI - 90 -   openAngle * 180 / Math.PI * SpaceRate / (numberSpace + SpaceRate) -   openAngle * 180 / Math.PI / (numberSpace + SpaceRate) * i), (float)(-openAngle * 180 / Math.PI * (1 - SpaceRate) /   (numberSpace + SpaceRate)));

canvas.LineTo(PicCirclePoint.X,   PicCirclePoint.Y);

canvas.Fill();

}

canvas.Circle(PicCirclePoint.X,   PicCirclePoint.Y, PicRidus * 0.9f);

canvas.Fill();

PicRidus = PicRidus * 0.8f;

}

iText技术入门

  • 苹果微信小号如何弄的
  • 苹果微信小号怎么弄的
  • 怎么创建微信小号
  • 苹果13pro怎么设置微信小号
  • 苹果手机怎么注册微信号
  • 热门搜索
    旅游纪念品创意设计 青岛旅游局 四川宜宾旅游景点 旅游卫视节目表 湖南旅游景点介绍 华山旅游景点 桂林旅游网站 深圳大梅沙旅游攻略 世界旅游胜地有哪些 东北旅游景点排行