世俱杯 2025

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

翻译|行业资讯|编辑:胡涛|2024-05-16 10:26:48.050|阅读 19 次

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

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

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

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

TX Text Control 最新下载

插入文件中的图像

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

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 = "//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枚举提供了在文档中定位图像的各种方法。


欢迎下载|体验更多TX Text Control产品

获取更多产品信息请咨询 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dpuzeg.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP