当前位置: 首页 > article >正文

Unity使用iTextSharp导出PDF-04图形

坐标系

pdf文档页面的原点(0,0)在左下角,向上为+y,向右为+x。
文档的PageSize可获取页面的宽高数值
单位:像素

绘制矢量图形

使用PdfContentByte类进行绘制,注意文档打开后才有此对象的实例。

绘制方法

Stroke 绘制轮廓
ClosePathStroke 连接起点和终点并绘制轮廓
Fill 填充但无轮廓
ClosePathFillStroke 封闭 填充 有轮廓

轮廓线设置

SetLineWidth(2f); 轮廓线宽度
SetLineDash(3f, 2f); 轮廓线为虚线,虚线长度为3,间隔为2
SetColorStroke(BaseColor.RED) 轮廓线颜色

封闭图形的填充颜色

SetColorFill(BaseColor.GRAY) 封闭图形的填充颜色

直线

MoveTo设置起点,LineTo设置终点,Storke绘制

var writer = PdfWriter.GetInstance(doc, new FileStream(fileName, FileMode.Create));
doc.Open();
PdfContentByte cb = writer.DirectContent;
PdfContentByte cb = writer.DirectContent;
var width = doc.PageSize.Width;
var height = doc.PageSize.Height;
cb.MoveTo(width / 2, 0);//起点
cb.LineTo(width / 2, height);//终点
cb.Stroke();//绘制

曲线

原理为贝塞尔曲线

cb.MoveTo(200f, 10f); 
cb.CurveTo(150f, 30f, 450f, 70f, 350f, 150f);
cb.Stroke();

三角形

cb.MoveTo(350f, 450f);
cb.LineTo(350f, 600f);
cb.LineTo(500f, 450f);
cb.ClosePathStroke();//最后一个点和起点自动连接

cb.Circle(120f, 250f, 50f);
cb.Stroke();

圆角矩形

cb.RoundRectangle(100f, 500f, 200f, 200f, 20f);
cb.Stroke();

导入图片

支持格式:jpg,png,git等

var writer = PdfWriter.GetInstance(doc, new FileStream(fileName, FileMode.Create));
doc.Open();
Image ima = Image.GetInstance("F:\\图片.png");
ima.Border = Rectangle.BOX;//正方形边框
ima.BorderColor = BaseColor.YELLOW;//边框颜色
ima.BorderWidth = 5f;//边框宽度
ima.SetAbsolutePosition(5f, 5f);//位置
doc.Add(ima);

http://www.kler.cn/a/546931.html

相关文章:

  • 修改OnlyOffice编辑器默认字体
  • 小米 R3G 路由器刷机教程(Pandavan)
  • 算法练习——哈希表
  • QML使用ChartView绘制箱线图
  • harmonyOS的文件的增、删、读、写相关操作(fs/content)
  • 土星云边缘计算微服务器 SE110S-WA32加持DeepSeek,本地部署企业私有推理大模型!
  • 父组件中循环子组件调用
  • Vue的学习(5)
  • Microsoft Edge浏览器介绍
  • kubekey一键部署k8s高可用与kubesphere
  • 理解WebGPU 中的 GPUAdapter :连接浏览器与 GPU 的桥梁
  • Linux: 调整套接字缓冲区大小相关内核参数
  • Kali linux搭建wifi绵羊墙
  • 欧拉公式在信号处理中的魔法:调幅信号的生成与频谱分析
  • 紫光展锐蜂窝物联网芯片V8850荣获国密一级安全认证
  • 深入剖析 Apache Shiro550 反序列化漏洞及复现
  • 异构计算架构助力智能座舱实现高效低耗体验
  • Day63_20250211_图论part7 prim算法|kruskal算法精讲
  • leetcode 347. 前 K 个高频元素
  • Python函数返回值250214