轉帖|使用教程|編輯:黃竹雯|2016-07-11 11:40:55.000|閱讀 502 次
概述:本文講述了如何使用LeadTools創建一個具有“打印圖像”功能的應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LeadTools圖像處理開發工具,在醫學、DICOM、PACS、柵格、矢量和多媒體圖像處理領域都處于世界領先的地位。LeadTools包括Raster Imaging、Document Imaging、Medical Imaging和Multimedia Imaging四個產品系列。
下面就讓我們使用LeadTools創建一個具有“打印圖像”功能的應用程序,具體步驟如下:
1. 打開Visual Studio .NET。
2. 點擊 文件->新建->項目…。
3. 打開新建項目對話框后,在模板中選擇“Visual C#”或“Visual Basic”,隨后選擇“Windows窗體應用程序”。在名稱欄中輸入項目名稱“PrintImageTutorial”,并使用“瀏覽”按鈕選擇您工程的存儲路徑,點擊“確定”。
4. 在“解決方案資源管理器”中,右擊“引用”,選擇“添加引用”。在“引用管理器”中,瀏覽選擇Leadtools For .NET文件夾” LEADTOOLS_INSTALLDIR\Bin\DotNet\Win32”,選擇以下的DLL:
點擊“確定”按鈕,將以上所有的DLL添加到應用程序中。
以上的引用允許您使用BMP、JPG和TIF文件。如果您想使用更多的文件格式,可參考幫助文檔的File Formats部分。
5.由于我們將使用Win32(x86)程序集引用,因此我們必須將這個項目的build目標改為x86。選擇 項目->PrintImageTutorial 屬性,按照以下步驟設置:
6.將Form1調整到設計視圖,從工具箱(視圖->工具箱)拖拽一個MenuStrip控件到窗體。點擊新的menuStrip1控件,添加以下頂級菜單項:
類型 | Name | Text | Shortcut Keys |
---|---|---|---|
ToolStripMenuItem | fileToolStripMenuItem | 文件 | |
ToolStripMenuItem | pageToolStripMenuItem | 頁面 | |
ToolStripMenuItem | optionsToolStripMenuItem | 選項 |
7. 選擇“文件”菜單項添加以下子項:
類型 | Name | Text | Shortcut Keys |
---|---|---|---|
ToolStripMenuItem | openToolStripMenuItem | 打開... | Ctrl+O |
ToolStripSeparator | toolStripMenuItem1 | ||
ToolStripMenuItem | printPreviewToolStripMenuItem | 打印預覽 | |
ToolStripMenuItem | printSetupToolStripMenuItem | 打印設置... | |
ToolStripMenuItem | printToolStripMenuItem | 打印... | Ctrl+P |
ToolStripSeparator | toolStripMenuItem2 | ||
ToolStripMenuItem | exitToolStripMenuItem | 退出 |
8. 選擇“頁面”菜單項添加以下子項:
類型 | Name | Text | Shortcut Keys |
---|---|---|---|
ToolStripMenuItem | firstPageToolStripMenuItem | 金喜正規買球 | |
ToolStripMenuItem | previousPageToolStripMenuItem | 上一頁 | |
ToolStripMenuItem | nextPageToolStripMenuItem | 下一頁 | |
ToolStripMenuItem | lastPageToolStripMenuItem | 尾頁 |
9. 選擇“選項”菜單項添加以下子項:
類型 | Name | Text | Shortcut Keys |
---|---|---|---|
ToolStripMenuItem | usePageMarginsToolStripMenuItem | 使用頁邊距 | |
ToolStripMenuItem | fitImageToPageToolStripMenuItem | 調整圖像適應頁面 |
10. 從工具箱(視圖->工具箱)拖拽一個RasterImageViewer實例至窗體。若您的工具箱沒有RasterImageViewer,點擊工具->選擇工具箱項…。點擊瀏覽從“LEADTOOLS_INSTALLDIR\Bin\DotNet\Win32”中選擇Leadtools.WinForms.DLL,點擊打開并確定。修改“RasterImageViewer”的以下屬性:
屬性 | 值 |
---|---|
Dock | Fill |
UseDpi | True |
11. 切換至Form1的代碼視圖(右擊Form1,選擇查看代碼),將下面幾行代碼添加到文件開始處:
using System.Drawing.Printing; using Leadtools; using Leadtools.Codecs; using Leadtools.WinForms;
12. 為Form1添加以下私有變量:
//加載圖像時使用的 RasterCodecs 對象 private RasterCodecs _rasterCodecs; //整個演示中我們會用到的 PrintDocument 對象 private PrintDocument _printDocument; //當前要打印的頁碼 private int _currentPrintPageNumber; //當前的圖像文件名稱 private string _currentImageFileName;
13. 為Form1添加以下代碼:
protected override void OnLoad(EventArgs e) { // 在加載圖像時初始化 RasterCodecs 對象 this._rasterCodecs = new RasterCodecs(); // 檢查是否安裝打印機 if(PrinterSettings.InstalledPrinters == null || PrinterSettings.InstalledPrinters.Count < 1) { MessageBox.Show(this,"此機器上未安裝打印機,此程序無法繼續運行","打印圖像演示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); this.Close(); } else { //創建我們將要使用的print document對象 this._printDocument = new PrintDocument(); //為打印事件添加句柄 this._printDocument.BeginPrint += new PrintEventHandler(_printDocument_BeginPrint); this._printDocument.PrintPage += new PrintPageEventHandler(_printDocument_PrintPage); this._printDocument.EndPrint += new PrintEventHandler(_printDocument_EndPrint); } base.OnLoad(e); } protected override void OnFormClosed(FormClosedEventArgs e) { //釋放我們使用的資源 if(this._printDocument != null) { this._printDocument.Dispose(); } if(this._rasterCodecs != null) { this._rasterCodecs.Dispose(); } base.OnFormClosed(e); }
14. 將下列代碼添加到fileToolStripMenuItem菜單項的DropDownOpening事件:
private void fileToolStripMenuItem_DropDownOpening(object sender, EventArgs e) { //更新UI狀態 printPreviewToolStripMenuItem.Enabled = (rasterImageViewer1.Image != null); printToolStripMenuItem.Enabled = (rasterImageViewer1.Image != null); }
15. 為openToolStripMenuItem按鈕添加Click事件:
private void openToolStripMenuItem_Click(object sender, EventArgs e) { //將圖像加載至查看器 using(OpenFileDialog dlg = new OpenFileDialog()) { dlg.Filter = "All Files|*.*"; if(dlg.ShowDialog(this) == DialogResult.OK) { try { //加載文件中的所有頁面 rasterImageViewer1.Image = this._rasterCodecs.Load(dlg.FileName); this._currentImageFileName = dlg.FileName; UpdateCaption(); } catch(Exception ex) { MessageBox.Show(this, ex.Message, "打印圖像演示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } }
DEMO下載:
本文是“打印圖像”教程的上半部分,查看完整教程,請點擊教程下半部分:LeadTools中文入門教程(3):打印圖像(下) 。
如需幫助,請聯系!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn