TX Text Control?是一款功能類似于 MS Word 的文字處理控件,包括文檔創建、編輯、打印、郵件合并、格式轉換、拆分合并、導入導出、批量生成等功能。廣泛應用于企業文檔管理,網站內容發布,電子病歷中病案模板創建、病歷書寫、修改歷史、連續打印、病案歸檔等功能的實現。
TX Text Control 提供了多種將圖像插入文檔的方法。本文介紹如何從文件、內存、.NET Image 對象插入圖像以及如何從 URL 插入圖像。
TX Text Control 最新下載
https://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 objectTXTextControl.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枚舉提供了在文檔中定位圖像的各種方法。