zoukankan      html  css  js  c++  java
  • 如何打印一张位图图片

        public partial class frmPrint : DevExpress.XtraEditors.XtraForm
        {
            Bitmap myPic;
            
    bool landscape=false;
            
    //构造函数
            public frmPrint(string mypic)
            {
                InitializeComponent();
                myPic 
    = new Bitmap(mypic);
                
    this.pictureEdit1.Image = myPic;
            }
            
    //打印时绘图
            private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                e.Graphics.DrawImage(myPic, 
    00);
            }
            
    //关闭
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                
    this.Close();
            }
            
    //打印
            private void toolStripButton1_Click(object sender, EventArgs e)
            {
                PrintDialog MyPrintDg 
    = new PrintDialog();
                MyPrintDg.Document 
    = printDocument1;

                
    if(landscape)
                    printDocument1.DefaultPageSettings.Landscape 
    = true;
                
    else
                    printDocument1.DefaultPageSettings.Landscape 
    = false;

                
    if (MyPrintDg.ShowDialog() == DialogResult.OK)
                {
                    
    try
                    {
                        printDocument1.Print();
                    }
                    
    catch
                    {   
    //停止打印
                        printDocument1.PrintController.OnEndPrint(printDocument1, new System.Drawing.Printing.PrintEventArgs());
                    }
                }
            }
            
    //是否横板打印
            private void toolStripCheckBox1_CheckedChanged(object sender, EventArgs e)
            {
                landscape 
    = !landscape;
            }
            
    //窗体即将关闭
            private void frmPrint_FormClosing(object sender, FormClosingEventArgs e)
            {
                pictureEdit1.Dispose();
                myPic.Dispose();
                Directory.SetCurrentDirectory(Application.StartupPath);
                
    if (Directory.Exists(Application.StartupPath + "\\tmpbmp"))
                {
                    Directory.Delete(Application.StartupPath 
    + "\\tmpbmp"true);
                }
                e.Cancel 
    = false;
            }
        }
  • 相关阅读:
    3.STM32复位系统
    3.CM3内核架构-寄存器
    2.STM32启动文件
    java线程池
    java多线程
    动态规划(dynamic programming)(二、最优子问题与重叠子问题,以及与贪心的区别)
    SOAP协议
    动态规划(dynamic programming)(一、简介,举例)
    红黑树-RBT(二、基本操作之插入)
    红黑树-RBT(二、基本操作之左旋)
  • 原文地址:https://www.cnblogs.com/kakaliush/p/1715937.html
Copyright © 2011-2022 走看看