ScreenCopy
 
将图形页面的内容复制到另一个图形页面

语法

Declare Sub ScreenCopy ( ByVal from_page As Integer = -1, ByVal to_page As Integer = -1 )

用法

ScreenCopy [ from_page ] [, to_page ]

参数

from_page
要复制的页面
to_page
复制到的页面

说明

from_page 是要复制的页面。如果省略此参数,则假定当前工作页面。to_page 是要复制到的页面。如果省略此参数,则假定当前可见的页面。页码范围从0num_pages - 1,其中num_pages 是使用ScreenResScreen设置图形模式时指定的页数。

您可以使用此函数为您的图形添加双缓冲区。任何具有多个页面的图形屏幕模式支持此函数。

ScreenCopy如果目标页面被锁定,则处于非活动状态。

还有另外两个类似的功能:FlipPCopy.Flip设计为在OpenGL模式下工作,而PCopy在某些平台上支持控制台页面。在正常图形模式下,它们都与ScreenCopy相同。

例子

另见ScreenSet示例。

''320x200x8,共3页
Screen 13,,3

''工作页面#1的图像(可见页面#0)
ScreenSet 1, 0
Cls
Circle( 160, 100 ), 90, 1 ,,,, f
Circle( 160, 100 ), 90, 15
Print "按2将第2页复制到可见页面"
Print "按下退出键退出"

''工作页面#2的图像(可见页面#0)
ScreenSet 2, 0
Cls
Line( 50, 50 )-( 270, 150 ), 2, bf
Line( 50, 50 )-( 270, 150 ), 15, b
Print "按1将第1页复制到可见页面"
Print "按下退出键退出"

''页面#0是工作页面(可见页面#0)
ScreenSet 0, 0
Cls
Print "按1将第1页复制到可见页面"
Print "按2将第2页复制到可见页面"
Print "按下退出键退出"

Dim k As String

Do
  k = Inkey
  Select Case k
  Case Chr(27)
    Exit Do
  Case "1"
    ScreenCopy 1, 0
  Case "2"
    ScreenCopy 2, 0
  End Select

  Sleep 25
Loop



方言差异

  • -lang qb 方言中不可用,除非使用别名__Screencopy引用。

与QB差别

  • 新的FreeBASIC。它是一种只有图形的版本PCopy,可以在文本和图形模式下工作。

参考