亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實現(xiàn)自定義打印文字和圖片的示例代碼

 更新時間:2022年04月19日 09:00:34   作者:ViperL1  
本文主要介紹了C#實現(xiàn)自定義打印文字和圖片的示例代碼,C#中打印其實就是自己繪圖+調(diào)用系統(tǒng)打印函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧

C#中打印其實就是自己繪圖+調(diào)用系統(tǒng)打印函數(shù),于是便有了以下操作

1.調(diào)用打印機設(shè)置

如果你想在打印前設(shè)置打印機屬性(或者切換打印機),請務(wù)必添加這段代碼,否則電腦會直接按照預(yù)設(shè)的設(shè)置進行打?。ù蛴C都沒法選)

//打印機設(shè)置
PrintDialog printDialog = new PrintDialog();
printDialog.Document = ptDoc;
printDialog.ShowDialog();

ptDoc就是打印的文件內(nèi)容,會在后面解釋

2.關(guān)聯(lián)文檔

等于我們需要新建一個空白的畫布,然后把我們需要的文字,圖片,線條依次擺上去

PrintDocument ptDoc = new PrintDocument();
ptDoc.DocumentName = "測試文件";//在隊列中顯示的名字
ptDoc.PrintPage += PtDoc_PrintPage;//關(guān)聯(lián)內(nèi)容生成方法

3.繪制內(nèi)容

本次測試的內(nèi)容分為:橫排文字,豎排文字,圖片,具體內(nèi)容和位置可以通過修改參數(shù)進行調(diào)整

        private void PtDoc_PrintPage(object sender, PrintPageEventArgs e)
        {
            e.Graphics.Clear(Color.White);
            // 開始繪制文檔
            // 默認為橫排文字
            e.Graphics.DrawString("標題:打印測試",
                                    new Font(new FontFamily("宋體"), 40, FontStyle.Bold),
                                    System.Drawing.Brushes.Red,
                                    170, 10);
            // 橫線
            e.Graphics.DrawLine(Pens.Black, 20, 110, 800, 110);
            // 豎排文字
            e.Graphics.DrawString("內(nèi)容",
                                    new Font(new FontFamily("宋體"), 14, FontStyle.Bold),
                                    System.Drawing.Brushes.Black,
                                    20, 120,
                                    new StringFormat(StringFormatFlags.DirectionVertical));
 
            e.Graphics.DrawString( this.txtName.Text,
                        new Font(new FontFamily("宋體"), 14, FontStyle.Bold),
                        System.Drawing.Brushes.Black,
                        20, 200);
 
            //e.Graphics.DrawImage(Image.FromFile(Path), 20, 250, 800, 100);    //會造成失真
 
            Image imgsample = Image.FromFile(Path);
            Point pt = Zoom(imgsample.Width, imgsample.Height, 200);
            e.Graphics.DrawImage(imgsample, 20, 250, pt.X, pt.Y);//直接打印可能出現(xiàn)太大打印不下
        }

        同時直接打印圖片的話可能造成圖片太大,可以寫一個縮放方法來限制圖片的最大尺寸

        private Point Zoom(int x, int y,int maxWidth)
        {
            Point pt = new Point(x, y);
            while (pt.X > maxWidth)
            {
                pt.X /= 2;
                pt.Y /= 2;
            }
            return pt;
        }

最后結(jié)果如下

 到此這篇關(guān)于C#實現(xiàn)自定義打印文字和圖片的示例代碼的文章就介紹到這了,更多相關(guān)C# 自定義打印文字和圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • AOP從靜態(tài)代理到動態(tài)代理(Emit實現(xiàn))詳解

    AOP從靜態(tài)代理到動態(tài)代理(Emit實現(xiàn))詳解

    AOP為Aspect Oriented Programming的縮寫,意思是面向切面編程的技術(shù)。下面這篇文章主要給大家介紹了關(guān)于AOP從靜態(tài)代理到動態(tài)代理(Emit實現(xiàn))的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-09-09
  • C#實現(xiàn)Excel合并單元格數(shù)據(jù)導(dǎo)入數(shù)據(jù)集詳解

    C#實現(xiàn)Excel合并單元格數(shù)據(jù)導(dǎo)入數(shù)據(jù)集詳解

    這篇文章主要為大家詳細介紹了C#如何實現(xiàn)Excel合并單元格數(shù)據(jù)導(dǎo)入數(shù)據(jù)集,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2024-01-01
  • C#對DataTable中的某列進行分組

    C#對DataTable中的某列進行分組

    這篇文章介紹了C#對DataTable某列進行分組的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • ZooKeeper 實現(xiàn)分布式鎖的方法示例

    ZooKeeper 實現(xiàn)分布式鎖的方法示例

    這篇文章主要介紹了ZooKeeper 實現(xiàn)分布式鎖的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • C#無限欄目分級程序代碼分享 好東西

    C#無限欄目分級程序代碼分享 好東西

    C#無限欄目分級程序代碼分享 好東西...
    2006-12-12
  • C#中的composite模式示例詳解

    C#中的composite模式示例詳解

    Composite組合模式屬于設(shè)計模式中比較熱門的一個,相信大家對它一定不像對訪問者模式那么陌生,這篇文章主要介紹了C#中的composite模式,需要的朋友可以參考下
    2022-06-06
  • C#數(shù)組初始化簡析

    C#數(shù)組初始化簡析

    C#數(shù)組與其它C系列語言有著很多的不同,以前接觸的時候理解出現(xiàn)很大的偏差。尤其是對多維數(shù)組的認識,本文將詳細介紹C#數(shù)組初始化,需要的朋友可以參考下
    2012-11-11
  • 詳解C#數(shù)據(jù)類型及其轉(zhuǎn)換

    詳解C#數(shù)據(jù)類型及其轉(zhuǎn)換

    這篇文章主要介紹了C#數(shù)據(jù)類型及其轉(zhuǎn)換詳解,在C#中,數(shù)據(jù)類型可以分為幾種類型,今天小編通過本文給大家詳細介紹,需要的朋友可以參考下
    2020-07-07
  • Winform窗體如何改變語言類型

    Winform窗體如何改變語言類型

    這篇文章主要介紹了Winform窗體如何改變語言類型,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11
  • C#實現(xiàn)圖書管理系統(tǒng)

    C#實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C#實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論