组态画面拷屏和打印

Navigation:  组态系统介绍 > 脚本应用 > 内置对象的方法 >

组态画面拷屏和打印

Previous pageReturn to chapter overviewNext page

uScreenToImage

函数说明:

 ScreenToImage fileName,xScale,yScale, fromColor1,toColor1,fromColor2,toColor2

 实现屏幕截图,并保存到指定路径下

 fileName:保存的文件名,包含路径和后缀,后缀可以为bmp,png,gif,jpg等。如果文件名称为空字符串“”,则弹出图片保存对话框。

 xScale:水平方向的放大倍数,大于1为放大,大于0小于1为缩小,不支持负值

 yScale:垂直方向的放大倍数,大于1为放大,大于0小于1为缩小,不支持负值

 fromColor1:变换前的rgb值,为10进制,-1不进行替换

 toColor1:变换后的rgb值,为10进制,-1不进行替换

 fromColor2:变换前的rgb值,为10进制,-1不进行替换

 toColor2:变换后的rgb值,为10进制,-1不进行替换

 无返回值。

 如 Printer.ScreenToImage "c:\example.bmp",1,1,-1,-1,-1,-1

 

截图和替换颜色举例:

 在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 Sub BSButton1_OnClick()

     Printer.ScreenToImage "c:\example.bmp",1,1,0,255,-1,-1

 End Sub

 运行a.bsp画面,点击Button,屏幕被截图,并保存为c盘下的example.bmp文件,图片中的黑色被替换为蓝色。

原始截屏举例:

Sub BSButton11_OnClick()

Printer.ScreenToImage "",1,1,-1,  -1, -1,  -1

End Sub

指定截屏图片的名字举例:

Dim shijian

shijian=0

Sub BSButton18_OnClick()

shijian=shijian+1

Printer.ScreenToImage "C:\Documents and Settings\maorui\桌面\ceshiimage\"&shijian&".jpg",1,1,-1,  -1, -1,  -1

End Sub

缩小举例:

Dim shijian

shijian=0

Sub BSButton19_OnClick()

shijian=shijian+1

MsgBox "C:\Documents and Settings\maorui\桌面\缩小"&shijian&".jpg"

Printer.ScreenToImage "C:\Documents and Settings\maorui\桌面\ceshiimage\缩小"&shijian&".jpg",0.5,0.5,-1,  -1, -1,  -1

End Sub

放大举例:

Dim shijian

shijian=0

Sub BSButton15_OnClick()

shijian=shijian+1

Printer.ScreenToImage "C:\Documents and Settings\maorui\桌面\ceshiimage\放大"&shijian&".jpg",2,2,-1,  -1, -1,  -1

End Sub

单色替换举例:

Dim shijian

shijian=0

Sub BSButton16_OnClick()

shijian=shijian+1

Printer.ScreenToImage "C:\Documents and Settings\maorui\桌面\ceshiimage\单色替换"&shijian&".jpg",1,1,0,7396243, -1, -1

End Sub

双色替换举例:

Dim shijian

shijian=0

Sub BSButton17_OnClick()

shijian=shijian+1

Printer.ScreenToImage "C:\Documents and Settings\maorui\桌面\ceshiimage\双色替换"&shijian&".jpg",1,1,0, 16711680, 16777215, 10911037

End Sub

 

uScreenToPrinter

函数说明:

 ScreenToPrinter xScale,yScale, fromColor1,toColor1,fromColor2,toColor2,reckSize

 打印屏幕图片

 xScale:水平方向的放大倍数,大于1为放大,大于0小于1为缩小,不支持负值

 yScale:垂直方向的放大倍数,大于1为放大,大于0小于1为缩小,不支持负值

 fromColor1:变换前的rgb值,为10进制,-1不进行替换

 toColor1:变换后的rgb值,为10进制,-1不进行替换

 fromColor2:变换前的rgb值,为10进制,-1不进行替换

 toColor2:变换后的rgb值,为10进制,-1不进行替换

 reckSize:打印区域的大小,如/size:0,0,700,700.可选参数

 无返回值。

 如 Printer.ScreenToPrinter 1,1,0,0,-1,-1

 

举例:

 在a.bsp的画面中加载一个Button对象,在脚本编辑器中编辑该Button的Click事件如下:

 Sub BSButton1_OnClick()

     Printer.ScreenToPrinter 1,1,0,255,0,0

 End Sub

 运行a.bsp画面,点击Button,将弹出打印对话框,选择适用的打印机,可以把屏幕打印出来,图片中的黑色被替换为蓝色。

 

原始打印举例:

Sub BSButton1_OnClick()

Printer.ScreenToPrinter 1, 1, -1, -1, -1, -1

End Sub

缩小打印举例:

Sub BSButton2_OnClick()

Printer.ScreenToPrinter 0.5, 0.5, -1, -1, -1, -1, "/size:0,0,1280,800"

End Sub

打印左上角:

Sub BSButton3_OnClick()

Printer.ScreenToPrinter 1, 1, -1, -1, -1, -1, "/size:0,0,500,400"

End Sub

打印右下角:

Sub BSButton4_OnClick()

Printer.ScreenToPrinter 1, 1, -1, -1, -1, -1, "/size:780,400,500,400"

End Sub

放大打印中间:

Sub BSButton5_OnClick()

Printer.ScreenToPrinter 2, 2, -1, -1, -1, -1, "/size:500,200,280,400"

End Sub