c#打印图片文件问题

xubailin 2008-07-17 10:50:03
当前程序文件夹pic下有4张jpg图片文件,单击winform窗体上的"打印"按钮后想把这4张图片通过A4的纸打印出来,每一张图片打印一页,请教代码如何实现
...全文
2063 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxxofking 2012-07-17
  • 打赏
  • 举报
回复
为什么要设置为20,20呢?
未页 2012-05-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

在printDocument1_PrintPage事件中,参数PrintPageEventArgs e有个HasMorePages属性(获取或设置一个值,该值提示是否打印附加页),通过控制这个属性值来实现多页打印

C# code

private int printIndex=0; //打印索引,下面调用要用到
private int pageSize=3; //有三张图片要打印

……
[/Quote]

如何屏蔽掉那个打印对话框的打印份数。可以不出来对话框吗。
Jimmy-G 2011-05-16
  • 打赏
  • 举报
回复
路过,踩一下!
morose999 2010-08-29
  • 打赏
  • 举报
回复
在printDocument1_PrintPage事件中,参数PrintPageEventArgs e有个HasMorePages属性(获取或设置一个值,该值提示是否打印附加页),通过控制这个属性值来实现多页打印


private int printIndex=0; //打印索引,下面调用要用到
private int pageSize=3; //有三张图片要打印

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
if (printIndex < pageSize)
{
e.Graphics.DrawImage(Image, 0, 0, photoWidth, photoHeight);
printIndex++;

//如果打印的页数还不足3页,那么我要继续打印
if (printIndex < pageSize)
{
e.HasMorePages = true;
}
}
else
{
e.HasMorePages = false;
}
   }
wenchu20 2010-07-27
  • 打赏
  • 举报
回复
我也遇到这样的问题,
每次打印只能打印一张图片,不能将几张图片同时打印出来,希望哪位高手指点
forest1980 2010-05-26
  • 打赏
  • 举报
回复
学习学习
ttyyadd 2010-04-12
  • 打赏
  • 举报
回复
xdvxdgfdfg
fishzzoo 2010-01-18
  • 打赏
  • 举报
回复
这都是打印一张啊
lyc556 2008-09-24
  • 打赏
  • 举报
回复
up
system_007 2008-07-18
  • 打赏
  • 举报
回复
up
royal1 2008-07-18
  • 打赏
  • 举报
回复
先在界面上拖入printDocument控件,然后打印事件中写:

byte[] input = new Byte[100000];

//读取图片
FileStream fs = new FileStream(@"图片路径", FileMode.Open, FileAccess.Read);
fs.Read(input, 0, 100000);

//设置打印页面
printDocument1.DefaultPageSettings.Landscape = true;

//向打印页绘制图片
Image image = Image.FromStream(fs);
e.Graphics.DrawImage(image, 20, 20);

//打印
printDocument1.Print();
hongqi162 2008-07-18
  • 打赏
  • 举报
回复
拉一个printDocument控件到界面。 
打印按钮的代码:
C# code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





private void button2_Click(object sender, EventArgs e)//执行打印

{

PrintDialog MyPrintDg = new PrintDialog();

MyPrintDg.Document = printDocument1;

if (MyPrintDg.ShowDialog() == DialogResult.OK)

{

try

{

printDocument1.Print();

}

catch

{ //停止打印

printDocument1.PrintController.OnEndPrint(printDocument1, new System.Drawing.Printing.PrintEventArgs());

}

}

}


另外还要设置PrintPage事件:


C# code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/





private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

e.Graphics.DrawImage(pictureBox1.Image, 20, 20);

}
CityOfAngels 2008-07-18
  • 打赏
  • 举报
回复
up
yilanwuyu123 2008-07-18
  • 打赏
  • 举报
回复
MARK

110,006

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧