如何打印一张位图图片

     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, 
0 0 );
        }
        
// 关闭
         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 ;
        }
    }

 

你可能感兴趣的:(图片)