*********************************** 图像打印**************************************************start
private Bitmap BmpPrint = null;
private void WindowLoaded(object sender, EventArgs e)
{
foreach (String strPrinter in PrinterSettings.InstalledPrinters)
{
cmb_printers.Items.Add(strPrinter);
if (strPrinter == strDefaultPrinter)//把默认打印机设为缺省值
{
cmb_printers.SelectedIndex = cmb_printers.Items.IndexOf(strPrinter);
}
}
}
private void btn_PrintBmp_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(this.cmb_printers.Text.Trim().ToString())) return;
System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument();
pd.PrinterSettings.PrinterName = this.cmb_printers.Text.Trim();
string str_ko = “D:\\1.bmp”
if (File.Exists(str_ko))
{
BmpPrint = new Bitmap(str_ko);
//横打
if (koBmpPrint.Width > koBmpPrint.Height)
{
pd.DefaultPageSettings.Landscape = true;
}
else//竖打
{
pd.DefaultPageSettings.Landscape = false;
}
pd.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);
pd.Print();
koBmpPrint.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace + ex.Message);
throw;
}
}
/// <summary>
/// 图片自适应/原始居中输出至A4纸张
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void pd_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(koBmpPrint, e.Graphics.VisibleClipBounds);//可见剪辑区域的边框
}
*********************************** 图像打印**************************************************end