FreeBASIC Screencopy
目次→描画ライブラリー参考→描画画面関連→SCREENCOPY←オリジナル・サイト
描画ページの内容を、別の描画ページにコピーします。
構文:
用法:
Screencopy [ from_page ] [, to_page ]
パラメタ:
from_page
コピー元(コピーされる)ページ
to_page
コピー先のページ
戻り値:
成功した場合はゼロ (0) を返し、失敗の場合はゼロ以外のエラーコードを返します。
記述:
from_page は、コピーされる、コピー元のページです。
この引数を省略すると、現在の作業中のページが、対象になります。
to_page は、コピー先のページです。
この引数を省略すると、現在の目に見えるページが選択されます。
ページ番号の範囲は、
0 から、
num_pages - 1 までになります。ここで、
num_pages は、描画モードが、
Screenres か
Screen (描画) で設定されたとき、指定されたページ数です。
この関数は、2倍のバッファーを、描画に加えるために使うことができます。
複数ページを備えた描画画面モードは、どれもこの関数をサポートします。
Screencopy は、宛先ページがロックされていると、動作しません。
他に、これに類似した 2つの関数があります:
Flip と
PCopy です。
Flip は、OpenGLモードで働くようになっています。一方、
PCopy は、若干のプラットホームで、実行画面ページをサポートします。両方とも、通常の描画モードで、
Screencopy と同じことをします。
Screencopy が返すエラーコードは、次の行の
Err を使ってチェックできます。
Screencopy の関数バージョンは、エラーコードを32ビット
Long として、直接返します。
例:
注:FreeBASIC 1.08〜 で、SetEnviron を追加しなくても、日本語環境で描画画面が表示されるように改善されました。
' Sets the graphics method GDI
' 描画方法を GDI に設定
SetEnviron("fbgfx=GDI")
'' 320x200x8、3ページ
Screen 13,,
3
'' ページ #1 のための画像 (visible page #0)
ScreenSet 1,
0
Cls
Circle( 160,
100 ),
90,
1 ,,,, f
Circle( 160,
100 ),
90,
15
Print "Press 2 to copy page #2 to visible page"
Print "Press escape to exit"
'' ページ #2 のための画像 (visible page #0)
ScreenSet 2,
0
Cls
Line( 50,
50 )-
( 270,
150 ),
2, bf
Line( 50,
50 )-
( 270,
150 ),
15, b
Print "Press 1 to copy page #1 to visible page"
Print "Press escape to exit"
'' ページ #0 は、作業ページ (visible page #0)
ScreenSet 0,
0
Cls
Print "Press 1 to copy page #1 to visible page"
Print "Press 2 to copy page #2 to visible page"
Print "Press escape to exit"
Dim k
As String
'' キー・ボードから、「1」「2」「Esc」 キーの入力で、表示画像を切替えます
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 の描画のみのバージョンです。
QB の Pcopy はテキストと描画の両方のモードで働きます。
参照:
ページ歴史:2023-07-09 00:58:45
日本語翻訳:WATANABE Makoto、原文著作者:SysOp