首页 > 编程语言 >C#系统的打印功能的实现

C#系统的打印功能的实现

时间:2023-12-13 15:22:20浏览次数:20  
标签:功能 C# image 打印 NewBitmap Graphics new printDocument1

具体代码套用

 //打印功能
        private void btnPrint_Click(object sender, EventArgs e)
        {
            PrintDocument printDocument1 = new PrintDocument();
            //printDocument1.DefaultPageSettings.PrinterSettings.PrinterName = "ZDesigner GX430t";//打印机名称设置
            //printDocument1.DefaultPageSettings.PaperSize = new ("Custum", label_biaoda1.Width, label_biaoda1.Height);//设置纸张大小
            printDocument1.PrintPage += new PrintPageEventHandler(this.PrintDocument_PrintPage);
            PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
            printPreviewDialog1.Document = printDocument1;
            DialogResult result = printPreviewDialog1.ShowDialog();
            if (result == DialogResult.OK)
                printDocument1.Print();
        }

        //以下代码获取到一张用作打印内容的图片
        private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {

            Image image = Image.FromFile(@"D:\12140\Desktops\Picture\1.png");
            Bitmap _NewBitmap = (Bitmap)image;
            /* e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height);//调整图片的大小
             e.Graphics.DrawImage(_NewBitmap, 0, 0, 570, 380);*/

            //各种调整,消除锯齿
            /*e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
            e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
            _NewBitmap.SetResolution(583, 390);*/

            e.Graphics.DrawImage(image, 0, 0, image.Width, image.Height);
            //_NewBitmap.Save("D:\\0000-临时文件\\1.png", System.Drawing.Imaging.ImageFormat.Png);//图片保存
        }

这样就能够实现一个简陋一点儿的打印功能啦~~

点击打印按钮:

标签:功能,C#,image,打印,NewBitmap,Graphics,new,printDocument1
From: https://www.cnblogs.com/liuzijin/p/17898710.html

相关文章

  • pyautogui.locateOnScreen()函数
    如何在屏幕上搜索某个图像假设桌面有个熟悉的图标如下:我们该如何用pyautogui找到它呢?如果是你,你该怎么找呢?是不是首先得参照上面这个图片,然后在屏幕上逐行扫描,扫到为止。pyautogui也是类似的:#图像识别(一个)oneLocation=pyautogui.locateOnScreen('weixin.png')print(on......
  • UBUNTU 18.04.6 如何安装Quartus SOCEDS 等软件
    在Intel/Altera网站上下载了QuartusSOCEDS的安装包以后怎么在Linux系统下面安装被?  其实是跟Windows上安装是一样的,直接对着安装包双击即可进行。如果双击没有反应,那就右击选择属性: 然后把上面那个复选框选上即可。如果这样操作以后双击还是没有反应,那么就参考:ht......
  • C++ Templates 第2版 电子书 pdf
    关注公众号:红宸笑。回复:电子书即可  本书是同名经典畅销图书的全新升级版本,针对C++11、C++14、C++17标准进行了全面更新,并对所有的新语言特性(包括可变参数模板、通用lambda、类模板参数推导等)进行了解释。全书共28章。首先全面介绍了本书的内容结构和相关情况。第1部分(......
  • Day29 练习:打印三角形(For循环补充说明)
    练习:打印三角形packagecom.baixiaofan.struct;publicclassTestDemo01{publicstaticvoidmain(String[]args){//打印三角形五行/*for(表达式1;表达式2;表达式3){表达式4;}*///第一次循环:......
  • 通过excel表格批量修改文件夹名称
    脚本功能这个脚本用于重命名文件夹,特别是在多层嵌套的文件夹结构中。它通过读取一个Excel表格来获取重命名的信息。表格的第一列应包含当前的文件夹名称,第二列包含您想要更改为的新名称。脚本会递归地遍历指定路径下的所有文件夹,并根据表格中的信息重命名匹配的文件夹。 impo......
  • 用icu探测字符集
    g++str-charset.cpp-licui18n #include<iostream>#include<stdio.h>#include<string.h>#include<unicode/ucnv.h>#include<unicode/utypes.h>//#include<unicode/urename.h>#include<unicode/ucsdet.h>boolwhat_chars......
  • 兼容性复制功能/自定义mock数据/通用hook
    *****自定义mockconstresourceList=computed(()=>Array.from({length:20},(_,index)=>index).map((v,i)=>{return{id:i,joinList:Array.from({length:i},(_,index1)=>index1).map((v,......
  • Unhandled exception. System.IO.IOException: The configured user limit (128) on t
    现象:Unhandledexception.System.IO.IOException:Theconfigureduserlimit(128)onthenumberofinotifyinstanceshasbeenreached,ortheper-processlimitonthenumberofopenfiledescriptorshasbeenreached.atSystem.IO.FileSystemWatcher.StartRaisi......
  • Highcharts 使用SVGRenderer方法绘制极地图​
    需求展示如何创建一个极地图、设置样式,并使用SVGRenderer方法绘制解释说明的路径和文本。分析要使用Highcharts的SVGRenderer方法绘制极地图,可以按照以下步骤操作:首先,创建一个极地图实例,并设置所需的配置项;创建一个SVGRenderer实例,使用SVGRenderer的path方法绘制路径;可以......
  • MBR30300FCT-ASEMI高耐压肖特基MBR30300FCT
    编辑:llMBR30300FCT-ASEMI高耐压肖特基MBR30300FCT型号:MBR30200FCT品牌:ASEMI封装:TO-220F最大平均正向电流:30A最大重复峰值反向电压:300V产品引线数量:3产品内部芯片个数:2产品内部芯片尺寸:122MIL峰值正向漏电流:<10ua恢复时间:5ns浪涌电流:275A芯片材质:最大正向电压:0.86V~0.92V工作结温:-55......