屏幕#

介绍#

屏幕方法控制 EXP Brain 如何在其屏幕上显示文本、数字和图形。

默认情况下,打印到大脑的字体是等宽小号,它有7行20列。

大脑的绘图分辨率为 159 x 107 像素。

VEX Brain 屏幕的带标签网格图,显示了行、列、像素尺寸和坐标,并用红线勾勒出网格轮廓。

以下是可用方法列表:

光标打印 – 显示文本并管理打印光标。

  • print – Prints text, numbers, or variable values at the current cursor position.

  • print_at – Prints text, numbers, or variable values at specific x and y coordinates.

  • set_cursor – Moves the cursor to a specific row and column.

  • set_origin – Sets the origin used for coordinate-based printing and drawing.

  • next_row – Moves the cursor to the next row.

  • clear_row – Clears a row of text.

  • row – Returns the row where text will be printed.

  • column – Returns the column where text will be printed.

  • get_string_width – Returns the width of a string in pixels using the current font.

  • get_string_height – Returns the height of a string in pixels using the current font.

修改器 – 更改屏幕设置、颜色和绘制行为。

  • clear_screen – Clears all drawings and text from the Brain screen.

  • set_font – Sets the font type used for printing text on the Brain’s screen.

  • set_pen_width – Sets the thickness of drawn lines and shape outlines.

  • set_pen_color – Sets the color of text, pixels, lines, and shape outlines.

  • set_fill_color – Sets the fill color for drawn shapes and printed text backgrounds.

绘图 – 在大脑屏幕上创建形状、线条和图形。

  • draw_pixel – Draws one pixel at a coordinate.

  • draw_line – Draws a line between two points.

  • draw_rectangle – Draws a rectangle using the current pen and fill colors.

  • draw_circle – Draws a circle using the current pen and fill colors.

  • draw_image_from_file – Draws an image from the SD card.

  • render – Switches drawing to double buffered and renders the Brain’s screen.

  • set_clip_region – Sets the clip region for drawing the supplied rectangle.

光标打印#

print#

print prints text, numbers, or variable values on the Brain screen at the current cursor position and font.

用法:

brain.screen.print(text, sep, precision)

参数

描述

text

要打印的文本、数字或变量值。

sep

Optional. A string to inset between values. This must be written as a keyword argument (sep=). The default is “”.

precision

Optional. The number of decimal places to display when printing simple numbers. This must be written as a keyword argument(precision=). The default is 2.

brain.screen.print("Hello, Robot!")

EXP Brain 的屏幕截图,显示屏幕上打印着“Hello Robot”。

# Print the number 1 on the Brain's screen at current
# cursor position.
brain.screen.print(1)

# Print the numbers 1, 2, 3 and 4 on the Brain's screen at
# current cursor position separated by a '-'.
brain.screen.print(1, 2, 3, 4, sep='-')

set_cursor#

set_cursor moves the cursor to a specific row and column on the Brain screen. The next print call will start printing at that location. The row and column spacing will take into account the selected font. The default cursor position is Row 1, Column 1.

用法:

brain.screen.set_cursor(row, column)

参数

描述

row

要将光标移动到的行。

column

要将光标移动到的列。

# Display text starting at Row 3 Column 10.
brain.screen.set_cursor(3, 10)
brain.screen.print("R3, C10")

EXP Brain 的屏幕截图,显示屏幕上打印着“R3,C10”。

set_origin#

set_origin sets the origin used for drawing and coordinate-based printing on the Brain screen. By default, the origin is the top-left corner of the screen.

用法:

brain.screen.set_origin(x, y)

参数

描述

x

原点相对于左上角的 x 坐标,范围从 0 到 159。

y

原点相对于左上角的 y 坐标,范围从 0 到 107。

next_row#

next_row moves the cursor to column 1 on the next row on the Brain screen.

用法:

brain.screen.next_row()

参数

描述

此方法没有参数。

# Display two lines of text.
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

EXP Brain 的屏幕截图,显示第 3 行的文本“3”。

clear_row#

clear_row clears a single row of text on the Brain screen.

用法:

brain.screen.clear_row(row)

参数

描述

row

可选。要清除的行。默认值为当前光标所在行。

color

Optional. A valid ColorType, a hex value, or a web string.

  • Color.BLACK
  • Color.BLUE
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
You can also specify a custom color.

# Clear Brain's screen to black.
brain.screen.clear_row()

# Clear Brain's screen to blue using predefined color.
brain.screen.clear_row(2, Color.BLUE)

row#

row returns the row where text will be printed as an integer.

用法:

brain.screen.row()

参数

描述

此方法没有参数。

# Display the cursor's current row.
brain.screen.set_cursor(3, 10)
brain.screen.print(brain.screen.row())

EXP Brain 的屏幕截图,显示第 3 行的文本“3”。

column#

column returns the column where text will be printed as an integer.

用法:

brain.screen.column()

参数

描述

此方法没有参数。

# Display the cursor's current column.
brain.screen.set_cursor(3, 10)
brain.screen.print(brain.screen.column())

EXP Brain 的屏幕截图,显示第 10 列的文本“10”。

get_string_width#

get_string_width returns the width of a string in pixels as an integer, using the current font.

用法:

brain.screen.get_string_width(string)

参数

描述

string

待测量的绳子。

get_string_height#

get_string_height returns the height of a string in pixels as an integer, using the current font.

用法:

brain.screen.get_string_height(string)

参数

描述

string

待测量的绳子。

变异体#

clear_screen#

clear_screen clears all drawings and text from the Brain’s screen.

用法:

brain.screen.clear_screen(color)

参数

描述

color

Optional. A valid ColorType, a hex value, or a web string.

  • Color.BLACK
  • Color.BLUE
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
You can also specify a custom color.

# Print VEXcode on the Brain's screen.
brain.screen.print("VEXcode")

# Clear screen to black.
brain.screen.clear_screen()

# Print VEXcode on the Brain's screen.
brain.screen.print("VEXcode")

# Clear screen to blue using predefined color.
brain.screen.clear_screen(Color.BLUE)

set_font#

set_font sets the font used for displaying text on the Brain screen. This font will apply to all text printed after this method runs.

用法:

brain.screen.set_font(fontname)

参数

描述

fontname

The font size (examples below):

  • MONO12
  • MONO15
  • MONO20
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
Note: Extra small and small sizes are not available for proportional fonts.

大脑显示屏上用单字12号字体丝网印刷了数字和字母,显示了A到Z以及所有数字。屏幕底部显示“9行,26列”。
MONO12

大脑屏幕上以单字 15 号字体丝网印刷数字和字母,显示字母 A 到 T 以及所有数字。屏幕底部显示“7 行,22 列”。
MONO15

大脑屏幕上以单字 20 号字体印刷数字和字母,显示字母 A 到 P 以及所有数字。屏幕底部显示“5 行 16 列”。
MONO20

大脑的屏幕以 MONO 30 字体印刷数字和字母,显示 A 到 J。屏幕底部显示 R:3 C:10。
MONO30

大脑的屏幕底部印有单字 40 号字体的数字和字母。屏幕底部写着 R:2 C:8。
MONO40

大脑上的数字和字母采用丝网印刷,字体大小为 MONO 60。仅显示 MON60。
MONO60

大脑屏幕上以 PROP 20 字体大小印刷数字和字母,显示字母 A 到 W 以及所有数字。屏幕底部显示“5 行,16 列”。
PROP20

大脑的屏幕以 PROP 30 字体大小印刷数字和字母,显示 A 到 P。屏幕底部显示 R:3 C:10。
PROP30

大脑的屏幕底部印有 PROP 40 字体大小的数字和字母。屏幕底部写着 R:2 C:8。
PROP40

大脑上的数字和字母采用 PROP 60 字体,并以丝网印刷方式呈现。仅显示 PROP60。
PROP60

# Set the font type to MONO40.
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

EXP Brain 的屏幕截图,显示“VEX”字样的字体比默认字体更大。

set_pen_width#

set_pen_width sets the thickness of drawn lines and shape outlines.

用法:

brain.screen.set_pen_width(width)

参数

描述

width

笔的宽度,以像素为单位,范围从 0 到 32。

# Draw a rectangle with a pen width of 10.
brain.screen.set_pen_width(10)
brain.screen.draw_rectangle(20, 20, 75, 50)

EXP Brain 的屏幕截图,显示一个带有粗边框的矩形。

set_pen_color#

set_pen_color sets the color of text, pixels, lines, and shape outlines.

用法:

brain.screen.set_pen_color(color)

参数

描述

color

The pen and font color to use. This can be a valid ColorType, a hex value, or a web string.

  • Color.BLACK
  • Color.BLUE
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
You can also specify a custom color.

# Draw a rectangle with orange borders.
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(20, 20, 75, 50)

EXP Brain 的屏幕截图,显示一个带有橙色边框的矩形。

# Set pen color red using a hex value.
brain.screen.set_pen_color(0xFF0000)

# Set pen color blue using predefined color.
brain.screen.set_pen_color(Color.BLUE)

# Set pen color green using web string.
brain.screen.set_pen_color("#00FF00")

set_fill_color#

set_fill_color sets the fill color used for drawing rectangles and circles.

用法:

brain.screen.set_fill_color(color)

参数

描述

color

The fill color to use. This can be a valid ColorType, a hex value, or a web string.

  • Color.BLACK
  • Color.BLUE
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
You can also specify a custom color.

# Draw a purple rectangle.
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(20, 20, 75, 50)

EXP Brain 的屏幕截图,显示一个填充紫色的矩形。

# Set fill color red using a hex value.
brain.screen.set_fill_color(0xFF0000)

# Set fill color blue using predefined color.
brain.screen.set_fill_color(Color.BLUE)

# Set fill color green using web string.
brain.screen.set_fill_color("#00FF00")

#

draw_pixel#

draw_pixel draws one pixel at the selected x and y coordinate using the current pen color.

用法:

brain.screen.draw_pixel(x, y)

参数

描述

x

绘制像素的 x 坐标,范围从 0 到 159,以屏幕原点为参考。

y

绘制像素的 y 坐标,范围从 0 到 107,以屏幕原点为参考。

# Draw the pixels marking the corners of a square.
brain.screen.draw_pixel(50, 50)
brain.screen.draw_pixel(50, 75)
brain.screen.draw_pixel(75, 50)
brain.screen.draw_pixel(75, 75)

EXP Brain 的屏幕截图,显示了构成正方形各个角点的像素组合。

draw_line#

draw_line draws a line from the first screen coordinate (x1, y1) to the second screen coordinate (x2, y2) using the current pen width and pen color.

用法:

brain.screen.draw_line(x1, y1, x2, y2)

参数

描述

x1

行首的 x 坐标(以像素为单位),范围从 0 到 159,参考屏幕原点。

y1

行首的 y 坐标(以像素为单位),范围从 0 到 107,参考屏幕原点。

x2

行尾的 x 坐标(以像素为单位),范围从 0 到 159,参考屏幕原点。

y2

行尾的 y 坐标(以像素为单位),范围从 0 到 107,参考屏幕原点。

# Draw a line from the top left to bottom right of the screen.
brain.screen.draw_line(0, 0, 159, 107)

大脑屏幕中央出现一条细斜线,从左上角延伸到右下角。

draw_rectangle#

draw_rectangle draws a rectangle using the current pen width, pen color, and fill color, unless the optional color parameter is used.

用法:

brain.screen.draw_rectangle(x, y, width, height, color)

参数

描述

x

矩形左上角的 x 坐标(以像素为单位),范围从 0 到 159,参考屏幕原点。

y

矩形左上角的 y 坐标(以像素为单位),范围从 0 到 107,参考屏幕原点。

width

矩形的宽度。

height

矩形的高度。

color

Optional. A valid ColorType, a hex value, or a web string.

  • Color.BLACK
  • Color.BLUE
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
You can also specify a custom color.

# Draw a rectangle on the screen.
brain.screen.draw_rectangle(20, 20, 80, 30)

大脑屏幕上显示一个带有细白边框的矩形。

# Draw a green rectangle on the screen that is filled using blue.
brain.screen.set_pen_color(Color.GREEN)
brain.screen.set_fill_color(Color.BLUE)
brain.screen.draw_rectangle(10, 10, 20, 20)

# Draw a green rectangle on the screen that is filled using red.
brain.screen.set_pen_color(Color.GREEN)
brain.screen.draw_rectangle(50, 50, 20, 20, Color.RED)

draw_circle#

draw_circle draws a circle using the current pen width, pen color, and fill color, unless the optional color parameter is used.

用法:

brain.screen.draw_circle(x, y, radius, color)

参数

描述

x

圆心的 x 坐标(以像素为单位),范围从 0 到 159,参考屏幕原点。

y

圆心的 y 坐标(以像素为单位),范围从 0 到 107,参考屏幕原点。

radius

圆的半径。

color

Optional. A valid ColorType, a hex value, or a web string.

  • Color.BLACK
  • Color.BLUE
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
You can also specify a custom color.

# Draw a circle on the screen.
brain.screen.draw_circle(80, 50, 20)

大脑屏幕上显示一个中心画有细白边的圆圈。

# Draw a green circle on the Brain's screen that is filled using blue.
brain.screen.set_pen_color(Color.GREEN)
brain.screen.set_fill_color(Color.BLUE)
brain.screen.draw_circle(50, 50, 10)

# Draw a green circle on the Brain's screen that is filled using red.
brain.screen.set_pen_color(Color.GREEN)
brain.screen.draw_circle(100, 50, 10, Color.RED)

draw_image_from_file#

draw_image_from_file draws an image from the SD card. The filename you put when calling the method must be located on the SD card.

用法:

brain.screen.draw_image_from_file(filename, x, y)

参数

描述

filename

图片的文件名。

x

屏幕上图像左上角的 x 坐标。

y

屏幕上图像左上角的 y 坐标。

# Draw the vex.bmp image on the Brain's screen at coordinate 0, 0.
brain.screen.draw_image_from_file('vex.bmp', 0, 0)

render#

render switches drawing to double buffered and renders the Brain’s screen. Once called, further drawing will not appear on the Brain’s screen until the next time render is called.

  • True if buffer was successfully rendered to the screen.

  • False if buffer was not successfully rendered to the screen.

用法:

brain.screen.render()

参数

描述

此方法没有参数。

set_clip_region#

set_clip_region defines a rectangular area on the screen where all drawings and text will be confined. Any content outside this region will not be displayed.

用法:

brain.screen.set_clip_region(x, y, width, height)

参数

描述

x

矩形左上角的 x 坐标,以屏幕原点为参考。

y

矩形左上角的 y 坐标,以屏幕原点为参考。

width

矩形的宽度。

height

矩形的高度。