我正在截取表單並將其發送到打印機。圖片太大,會偏離頁面兩側。過去幾個小時我一直在四處尋找,無濟於事。有人可以協助嗎?打印前重新調整圖像
當我打開文件本身時,它在打印預覽中看起來不錯。如果我從預覽中打印出來就好了。但我想在沒有用戶干預的情況下做到這一點。
public void SetupPrintHandler()
{
PrintDocument printDoc = new PrintDocument();
printDoc.PrintPage += new PrintPageEventHandler(OnPrintPage);
printDoc.DefaultPageSettings.Landscape = true;
printDoc.Print();
}
private void OnPrintPage(object sender, PrintPageEventArgs args)
{
using (Image image = Image.FromFile(@"C:/temp2.bmp"))
{
Graphics g = args.Graphics;
g.DrawImage(image, 0, 0);
}
}
private void printscreen()
{
ScreenCapture sc = new ScreenCapture();
Image img = sc.CaptureScreen();
sc.CaptureWindowToFile(this.Handle, "C:/temp2.bmp", ImageFormat.Bmp);
SetupPrintHandler();
}
因此,我所做剛纔的不是屏幕拍攝,進行測試,我救什麼是·Panel3中是2個pictureboxes。所以我採取了panel3的大小。
Bitmap bmp = new Bitmap(panel3.ClientSize.Width, panel3.ClientSize.Height);
panel3.DrawToBitmap(bmp, panel3.ClientRectangle);
bmp.Save(subPath + file + ".bmp");
再一次,在打印預覽中看起來不錯,如果從打印預覽中點擊打印,打印效果會很好。但是,如果我直接將它發送到打印機,它不適合。所以也許它不是一個尺寸問題,而是一個設置,我不得不發送到打印機時,不使用打印預覽?
更新 所以我可能已經找到了問題。打印圖片時,如果取消選中「適合框架」,則完全適合。但是,直接發送到打印機的方式似乎沒有選擇我可以禁用「適合框架」的方式
你可以計算出你想要的DPI /需求,然後將其設置在該位圖。 – TaW