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

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.lryc.cn/news/535495.html

相关文章:

  • JDBC如何连接数据库
  • Unity URP的2D光照简介
  • 【IC】AI处理器核心--第二部分 用于处理 DNN 的硬件设计
  • 从 0 开始本地部署 DeepSeek:详细步骤 + 避坑指南 + 构建可视化(安装在D盘)
  • 如何本地部署DeepSeek集成Word办公软件
  • Centos10 Stream 基础配置
  • 时间序列分析(三)——白噪声检验
  • ThinkPHP8视图赋值与渲染
  • 对贵司需求的PLC触摸的远程调试的解决方案
  • 2.12寒假作业
  • 记使用AScript自动化操作ios苹果手机
  • 【Apache Paimon】-- 16 -- 利用 paimon-flink-action 同步 kafka 数据到 hive paimon 表中
  • 基于 PyTorch 的树叶分类任务:从数据准备到模型训练与测试
  • 算法之 数论
  • Java 大视界 -- 人工智能驱动下 Java 大数据的技术革新与应用突破(83)
  • 【04】RUST特性
  • PlantUml常用语法
  • 保存字典类型的文件用什么格式比较好
  • 开源模型应用落地-Qwen1.5-MoE-A2.7B-Chat与vllm实现推理加速的正确姿势(一)
  • 一竞技瓦拉几亚S4预选:YB 2-0击败GG
  • deepseek+kimi一键生成PPT
  • mybatis 是否支持延迟加载?延迟加载的原理是什么?
  • 【Android开发】安卓手机APP拍照并使用机器学习进行OCR文字识别
  • 力扣 15.三数之和
  • 机器学习:二分类和多分类
  • 安科瑞光伏发电防逆流解决方案——守护电网安全,提升能源效率
  • ml5.js框架实现AI图片识别
  • HDFS应用-后端存储cephfs-文件存储和对象存储数据双向迁移
  • 关于atomic 是否是线程安全的问题
  • 在实体机和wsl2中安装docker、使用GPU