用PrintDocument打印照片,为啥总是只能打出图片的一小部分
我的目的是用PrintDocument打印pictureBox里的图片,pictureBox里的图片是2496*1664像素的,输出到打印机的纸张大小是6英寸照片格式(6寸照片4*6英寸).我下面的代码的话打出来的图片只是pictureBox里图片左上角的一小部分.我的打印机分辨率为300DPIprivate void PrintPageTwo()
{
PrintPreviewDialog printPreviewDialog2 = new PrintPreviewDialog();//新建打印预览窗体
PrintDocument PrintDocument2 = new PrintDocument();//新建打印对象
PageSetupDialog PageSetupDialog2 = new PageSetupDialog();//新建打印设置
PrintDocument2.PrintPage += new PrintPageEventHandler(printDocument2_PrintPage);//新建打印输出
PrintDocument2.DefaultPageSettings.Landscape = false; //False 横打
PaperSize pkCustomSize1 = new PaperSize("6cun",600, 400); //新建一个页面尺寸(6寸照片4*6英寸)
PrintDocument2.DefaultPageSettings.PaperSize = pkCustomSize1;
printPreviewDialog2.Document = PrintDocument2;//获取打印预览
printPreviewDialog2.ShowDialog();//打开打印预览窗口
}
private void printDocument2_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Image objImage = pictureBox_Show.Image;
e.Graphics.DrawImage(objImage, 0, 0);//绘制打印预览方法二
PaperSize pkCustomSize1 = new PaperSize("6cun",600, 400);
e.PageSettings.PaperSize = pkCustomSize1;
} --------------------编程问答-------------------- XP or 2K?
2k下经常会这样.如果不是2k,再找找代码问题. --------------------编程问答-------------------- xp下,好像是输出的图像不是6寸的,而是原始大小的,打到照片上就只有很小一部分出来了 --------------------编程问答-------------------- 尺寸,和图片的分辨率是两个概念.... --------------------编程问答-------------------- "出来一小部分"?是图片变小了,还是图片没有被完整打印? --------------------编程问答-------------------- PaperSize pkCustomSize1 = new PaperSize("6cun",600, 400);
这句话,重新换一种定义试试. --------------------编程问答--------------------
没用完整打印出来 --------------------编程问答-------------------- 300DPI
4*6
相当于1800*1200(不考虑边框)
打印机和你的程序都很听话,只打印2496*1664的一部分
设法将图片缩小,再试试 --------------------编程问答-------------------- 300DPI
4*6
相当于1800*1200(不考虑边框)
打印机和你的程序都很听话,只打印2496*1664的一部分
设法将图片缩小,再试试 --------------------编程问答-------------------- 只是路过 --------------------编程问答-------------------- 将图片缩小在试试
补充:.NET技术 , C#