文本控件Text Control示例: 将图像插入 TX 的各种方法

TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打印、病案归档等功能的实现。

TX Text Control 提供了多种将图像插入文档的方法。本文介绍如何从文件、内存、.NET Image 对象插入图像以及如何从 URL 插入图像。

TX Text Control 最新下载icon-default.png?t=N7T8https://www.evget.com/vendor/118

插入文件中的图像

从文件插入图像是将图像添加到文档的最常见方法。以下代码显示如何将文件中的图像插入到文档中:

string imagePath = "Images/signature1.jpg";

TXTextControl.Image myImage = new TXTextControl.Image() {
FileName = imagePath };

textControl1.Images.Add(myImage, -1);

TX Text Control 自动检测图像过滤器。如果不支持文件扩展名,则不会插入图像并引发异常。

插入 .NET System.Drawing.Image

TX Text Control 支持从 .NET System.Drawing.Image对象插入图像。以下代码显示如何从 .NET Image 对象插入图像:

string imagePath = "Images/signature1.jpg";
System.Drawing.Image img = System.Drawing.Image.FromFile(imagePath);

TXTextControl.Image myImage = new TXTextControl.Image(img);

textControl1.Images.Add(myImage, -1);

Image 类的构造函数接受 .NET Image 对象作为参数。图像以原始尺寸和分辨率插入。

从 MemoryStream 添加图像

可以从MemoryStream对象插入图像。以下代码显示如何从 MemoryStream 插入图像:

string imagePath = "Images/signature1.jpg";

// load image into memory stream
MemoryStream ms = new MemoryStream();
Image img = Image.FromFile(imagePath);
img.Save(ms, img.RawFormat);

// create image object

TXTextControl.Image myImage = new TXTextControl.Image(ms);

// add image to text control
textControl1.Images.Add(myImage, -1);
来自字节数组的图像

可以从字节数组插入图像。以下代码显示如何从字节数组插入图像:

string imagePath = "Images/signature1.jpg";

byte[] bytes = File.ReadAllBytes(imagePath);

using (MemoryStream ms = new MemoryStream(
bytes, 0, bytes.Length, writable: false, publiclyVisible: true))
{
// create image object
TXTextControl.Image myImage = new TXTextControl.Image(ms);
textControl1.Images.Add(myImage, -1);
}

writable参数设置为 false,表示该流无法写入。publicVisible设置为 true,意味着其他线程可以安全地访问内存流的缓冲区,这是 Image 类加载图像所必需的。

从 URL 插入图像

可以从 URL 插入图像。因此,图像被下载并插入到文档中。以下代码显示如何从 URL 插入图像:

string url = "https://www.textcontrol.com/img/corporate_id/tx_logo.svg";

using (WebClient client = new WebClient())
{
byte[] bytes = client.DownloadData(url);

using (MemoryStream ms = new MemoryStream(
bytes, 0, bytes.Length, writable: false, publiclyVisible: true))
{
// create image object
TXTextControl.Image myImage = new TXTextControl.Image(ms);
textControl1.Images.Add(myImage, -1);
}
}
图像定位

与 TX Text Control 中的所有其他 FrameBase 对象一样,图像可以内联插入到字符位置、锚定到段落或作为固定对象插入到特定页面上。上述所有示例都将图像插入到文本位置,并将内联图像视为字符。可以使用以下插入模式:

  • 内嵌文本
  • 锚定到一个段落
  • 固定在页面上

支持以下插入模式:

Member描述
作为角色图像作为单个字符插入到文本中。
替换完整线图像被插入到某个几何位置。文本在顶部停止并在图像底部继续。
置换文本图像被插入到某个几何位置。文本围绕图像流动,左侧和右侧的空白区域被填充。
文字之上图像被插入到文本上方的某个几何位置。这意味着图像会覆盖文本。
文字下方图像被插入到文本下方的某个几何位置。这意味着文本会覆盖图像。
随文本移动图像与段落连接并随文本移动。
固定在页面上图像固定位于页面上。

ImageInsertionMode 枚举的值可以组合。可能的组合是:

  • 替换完整线|随文本移动
  • 替换完整线|固定在页面上
  • 置换文本 |随文本移动
  • 置换文本 |固定在页面上
  • 上面的文字|随文本移动
  • 上面的文字|固定在页面上
  • 正文下方 |随文本移动
  • 正文下方 |固定在页面上
  • 作为角色
锚定到段落

例如,以下代码插入一个图像,以 500 缇的双向位置偏移锚定到当前输入位置处的段落:

TXTextControl.Image image = new TXTextControl.Image("image.png", 4);

textControl1.Images.Add(image, new Point(500,500), -1,
TXTextControl.ImageInsertionMode.MoveWithText |
TXTextControl.ImageInsertionMode.DisplaceText);

该位置以缇为单位指定应插入图像的位置。这是相对于页面或段落左上角的位置。

图片位置

结论

本文介绍了如何使用 Windows 窗体的 TX Text Control .NET 将来自各种来源的图像插入到文档中。 Image 类提供了从文件、.NET Image 对象和 MemoryStream 对象插入图像的构造函数。还可以从 URL 插入图像。 ImageInsertionMode枚举提供了在文档中定位图像的各种方法。

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TX Text Control是一款用于.NET平台的文本编辑件。它提供了强大和灵活的功能,可用于开发各种文本处理应用程序。 首先,TX Text Control支持多种文本格式,包括RTF(Rich Text Format),HTML(HyperText Markup Language)和DOCX(Microsoft Word的XML格式),这使开发者可以轻松地在应用程序中实现文本的导入和导出。 其次,TX Text Control提供了丰富的文本编辑功能,包括文本格式化、字体样式、段落布局、列表、表格、图像插入等。开发者可以通过使用这些功能,轻松地创建和编辑丰富多样的文本内容。 此外,TX Text Control还支持文本的合并邮件功能,开发者可以根据模板和数据源生成个性化的文本文档。这对于需要大量生成个性化信函或报告的应用程序来说十分有用。 TX Text Control还提供了对文本注释和批注的支持,这对于多人协作编辑文档非常重要。用户可以在文档中添加注释或批注,并与其他协作者进行实时交流。 最后,TX Text Control拥有丰富的开发工具和API文档,简化了开发者的工作。它提供了基于事件的编程模型,允许开发者以代码方式对文本进行操作和处理。 总之,TX Text Control是一款功能强大的文本编辑件,它能够满足各种文本处理需求。无论是普通的文本编辑器还是复杂的文档处理应用程序,TX Text Control都能提供相应的功能和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值