跳轉到內容

QBasic/圖形

來自華夏公益教科書,開放的書籍,開放的世界

QBasic 在圖形方面能做什麼

[編輯 | 編輯原始碼]

QBasic 在圖形方面並不十分強大,但可以建立許多優秀的程式。像 PSET、CIRCLE、LINE 等命令用於在 QBasic 中繪製圖形。使用 QBasic 建立的圖形程式的良好示例是 對稱圖示對稱分形

SCREEN 將允許您設定它的使用方式。文字圖形、兩者以及您正在使用的表面的大小。SCREEN 0 .. 表示僅文字。SCREEN 12 .. 表示 64 X 480 X 16 色 & 文字。

PSET 命令允許程式設計師在螢幕上顯示畫素。在您輸入命令之前,您必須確保 SCREEN 命令已在其中。請檢視此示例

SCREEN 13
PSET (1,1), 43

此命令將在座標 1, 1 處顯示一個黃色畫素。座標是 X 和 Y 座標,與任何其他數學情況一樣。因此 PSET 命令必須具有以下佈局才能正常工作

PSET ([X coordinate], [Y coordinate]), [Colour of Pixel]

請記住,X 座標是螢幕上從左到右的座標,Y 座標是從上到下的座標。

   LINE [[STEP](x1!,y1!)]-[STEP](x2!,y2!) [,[color%] [,[B | BF] [,style%]]]
   STEP          Specifies that coordinates are relative to the current
                   graphics cursor position.
   (x1!,y1!),    The screen coordinates of the start of the line and of
   (x2!,y2!)     the end of the line.
   color%        A color attribute that sets the color of the line or
                   rectangle. The available color attributes depend on your
                   graphics adapter and the screen mode set by the most
                   recent SCREEN statement.
   B             Draws a rectangle instead of a line.
   BF            Draws a filled box.
   style%        A 16-bit value whose bits set whether or not pixels are
                   drawn. Use to draw dashed or dotted lines.

這個簡單的程式顯示了一條線

  Screen 13 
  LINE (160,10)-(100,50),13 
Simple Line
簡單線
CIRCLE (100, 100), 25, 4,0,3.14

這將在座標處顯示一個圓圈。函式的佈局如下

CIRCLE ([X Coordinate], [Y Coordinate]), [Radius], [Colour Number],[Start Angle],[Finish Angle]

請記住在前面放一個 SCREEN 命令。

要使用 PAINT,必須宣告一個 SCREEN 命令。該命令具有告訴 QBasic 開始位置的座標。顏色編號指定要使用的顏色,而邊框顏色告訴 PAINT 命令當它遇到該顏色的畫素時停止繪製。在幾乎所有情況下,您都需要使用邊框顏色引數,因為如果沒有它,PAINT 將覆蓋整個螢幕。

PAINT ([X Coordinate],[Y Coordinate]), [Color Number], [Border Color]1,2,3,4,5,5

待辦事項

使用 DATA 命令製作影像

[編輯 | 編輯原始碼]

使用此命令的圖形可以透過使用圖形編輯器或手動使用 DATA 命令來製作。DATA 命令是將資訊輸入 QBasic 並被 READ 命令讀取的一種方式。請記住,DATA 命令不能用於子程式或函式。請檢視此示例

SCREEN 7
FOR y = 1 TO 10
FOR x = 1 TO 10
READ z
PSET (x, y), z
NEXT
NEXT
DATA 04, 04, 04, 04, 04, 04, 04, 04, 04, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 00, 00, 00, 00, 00, 00, 00, 00, 04
DATA 04, 04, 04, 04, 04, 04, 04, 04, 04, 04

FOR 命令宣告要讀取的畫素數量。在這個特定的程式中,有 10 x 10(100)個畫素,所以我們放入

FOR x = 1 TO 10
FOR y = 1 TO 10

我們現在聲明瞭 x 和 y 平面。如果您想要更小或更大的圖片點陣圖,可以更改這些值。READ 命令讀取 DATA 命令並將收集的資訊宣告為 z。

READ z

PSET 讀取平面和 DATA 讀取並生成點陣圖。

PSET (x, y), z

它的工作原理與本頁上的第一個示例類似,只是它讀取的畫素不止一個

華夏公益教科書