一個關於pictureBox的打印問題? 如何打印一個我在Picturebox 控件中畫的一張圖片。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Visual Basic的Printer对象支持PaintPicture方法,可以支持打印位图。其语法为: Printer.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcode 参数Picture是必需的,指明要绘制到打印机上的图形的来源源,通常是对象的Picture或Image属性。 参数x1, y1也是必需的,均为单精度数值,指定参数picture所确定图形在打印机上绘制的坐标(x-轴和y-轴)。其值的单位是由Printer的 ScaleMode 属性决定的。 参数Width1和Height1是可选的,都是单精度数值,指示图象的目标宽度和高度。如果目标宽度/高度比源宽度 (width2)/高度(height2)大或者小,将适当地拉伸或压缩图形。如果省略这两个参数,则使用图形的原始尺寸。 参数x2, y2、Width2和Height2是可选的。它们指示参数picture确定的图象内剪贴区的坐标(x-轴和y-轴)和大小。利用这四个参数,我们可以打印图象的一部分。默认是打印整个图象。 参数Opcode是可选的,是长型数值。它用来定义在将图象绘制到打印机上时对图象执行的位操作(例如, vbMergeCopy 或 vbSrcAnd 操作符)。关于位操作符常数的完整列表,请参阅 Visual Basic帮助文件中的有关内容。对于打印机来说,这个参数较少使用;而在屏幕显示图象时往往利用这个参数实现一些特殊效果。 通过使用负的目标高度值 (height1)或目标宽度值 (width1) ,可以水平或垂直翻转位图。 下面是一个简单的例子: Printer.PaintPicture Picture1.Image, 0, 0 To:rainstormmaster(rainstormmaster) 很感謝你的回答,但你可能沒懂我的意思,你上面說的我也查過微軟的在線幫助,但是我在試用的時候,它只能打印加載的圖片,而我要的是打印我用picture1.line(x1,y1)-(x2,y2)所繪制的圖片,每次都提示第一個參數不能引用。我是這樣寫的:printer.PaintPictre picture1.picture, 33 , 33 你把在picturebox上的打印代码中的picturebox全部换成Printer。例如picture1.line(x1,y1)-(x2,y2)换成Printer.line(x1,y1)-(x2,y2)这样就可以了 建议你将显示的部分单独做一个子过程,在参数中使用“pic as object”,例如subPaint(pic as object),这样在picturebox中显示时,调用此过程,将picturebox作为参数传递,当要打印时,将printer作为参数传递,这样就可以在picturebox和printer中得到同样的效果 =======VB循环插入数据速度很慢======== 在VB中如何使鼠标放到按钮上使按钮变颜色 代码创建的控件数组如何获取事件? 请问VB可以做网页浏览器吗? 删除datagrid里的某条记录用什么语句啊? 一个模拟表盘的程序 请教一下如何在程序中调用别的应用程序? 用vb编写一个小程序进行c文件的代码剪裁 使用VB开发在IE上可以打开tif文件的插件 关于windows超级终端的程序请问怎么写,多谢了! 求指点图片放大缩小迷津!!!! 如何判断,此时鼠标是否在控件范围内,如label控件表面
Printer.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcode
参数Picture是必需的,指明要绘制到打印机上的图形的来源源,通常是对象的Picture或Image属性。
参数x1, y1也是必需的,均为单精度数值,指定参数picture所确定图形在打印机上绘制的坐标(x-轴和y-轴)。其值的单位是由Printer的 ScaleMode 属性决定的。
参数Width1和Height1是可选的,都是单精度数值,指示图象的目标宽度和高度。如果目标宽度/高度比源宽度 (width2)/高度(height2)大或者小,将适当地拉伸或压缩图形。如果省略这两个参数,则使用图形的原始尺寸。
参数x2, y2、Width2和Height2是可选的。它们指示参数picture确定的图象内剪贴区的坐标(x-轴和y-轴)和大小。利用这四个参数,我们可以打印图象的一部分。默认是打印整个图象。
参数Opcode是可选的,是长型数值。它用来定义在将图象绘制到打印机上时对图象执行的位操作(例如, vbMergeCopy 或 vbSrcAnd 操作符)。关于位操作符常数的完整列表,请参阅 Visual Basic帮助文件中的有关内容。对于打印机来说,这个参数较少使用;而在屏幕显示图象时往往利用这个参数实现一些特殊效果。
通过使用负的目标高度值 (height1)或目标宽度值 (width1) ,可以水平或垂直翻转位图。
下面是一个简单的例子:
Printer.PaintPicture Picture1.Image, 0, 0
很感謝你的回答,但你可能沒懂我的意思,你上面說的我也查過微軟的在線幫助,但是
我在試用的時候,它只能打印加載的圖片,而我要的是打印我用picture1.line(x1,y1)-(x2,y2)
所繪制的圖片,每次都提示第一個參數不能引用。我是這樣寫的:
printer.PaintPictre picture1.picture, 33 , 33
例如picture1.line(x1,y1)-(x2,y2)
换成Printer.line(x1,y1)-(x2,y2)
这样就可以了