场景

winform中使用zxing和graphics实现自定义绘制二维码布局:

https://blog.csdn.net/badao_liumang_qizhi/article/details/100127885

在上面实现将二维码显示在picturebox之中之后,将其打印。

效果

 

实现

页面拖拽一个printdocument控件。

 

 

拖拽之后的效果

然后再拖拽一个button按钮,双击进入其点击事件中

 

private void button7_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());
                }
            }
        }

 

找到页面设计器中拖拽的printdocument控件上,右击属性,找到事件列表,然后双击其printpage事件

编写如下代码:

 

private void printdocument1_printpage(object sender, printpageeventargs e)
        {
            e.graphics.drawimage(picturebox1.image, 20, 20);
        }

 

运行效果