Scherm#

Invoering#

De schermmethoden bepalen hoe de IQ (2e generatie) Brain tekst, cijfers en afbeeldingen weergeeft op het ingebouwde scherm.

Voor tekenen heeft de Brain een resolutie van 160 x 108 pixels.

Op deze pagina wordt brain als voorbeeld Brain naam gebruikt. Vervang dit door uw eigen geconfigureerde naam indien nodig.

Hieronder vindt u een lijst met alle methoden:

Cursor Print — Plaats en print tekst.

  • print — Drukt tekst, getallen of variabele waarden af ​​op de huidige cursorpositie.

  • set_cursor — Verplaatst de cursor naar een specifieke rij en kolom.

  • next_row — Verplaatst de cursor naar kolom 1 van de volgende rij.

  • clear_row — Maakt een rij tekst leeg.

  • row — Geeft de rij terug waar de tekst zal worden afgedrukt.

  • column — Geeft de kolom terug waar de tekst wordt afgedrukt.

  • print_at — Drukt tekst, getallen of variabele waarden af ​​op een specifieke x- en y-coördinaat.

  • get_string_width — Retourneert de breedte van een tekenreeks in pixels met behulp van het huidige lettertype.

  • get_string_height — Retourneert de hoogte van een tekenreeks in pixels met behulp van het huidige lettertype.

Mutators — Wijzig scherminstellingen, kleuren en tekengedrag.

  • clear_screen — Maakt het scherm leeg van alle tekeningen en tekst.

  • set_font — Stelt het lettertype in voor de afgedrukte tekst.

  • set_pen_width — Stelt de dikte in van getekende lijnen en vormcontouren.

  • set_pen_color — Stelt de kleur in van tekst, pixels, lijnen en vormcontouren.

  • set_fill_color — Stelt de vulkleur in voor getekende vormen en achtergronden van afgedrukte tekst.

  • set_origin — Stelt de oorsprong in die wordt gebruikt voor coördinatengebaseerd afdrukken en tekenen.

Tekenen — Voeg afbeeldingen toe aan het scherm.

  • draw_pixel — Tekent één pixel op een coördinaat.

  • draw_line — Tekent een lijn tussen twee punten.

  • draw_rectangle — Tekent een rechthoek.

  • draw_circle — Tekent een cirkel.

  • set_clip_region — Beperkt waar tekeningen en tekst kunnen verschijnen.

  • render — Werkt het scherm van de hersenen bij met tekst en tekeningen, maar alleen wanneer deze functie wordt aangeroepen.

Cursor Print#

print#

print print tekst, getallen of variabele waarden op het Brain-scherm op de huidige cursorpositie en lettertype.

Usage:
brain.screen.print(text, precision, opaque)

Parameters

Beschrijving

text

De tekst, het getal of de variabele waarde die op het scherm moet worden weergegeven.

precision

Optioneel. Het aantal decimalen dat moet worden weergegeven bij het noteren van getallen. Dit moet worden opgegeven als een sleutelwoordargument, bijvoorbeeld:precision=3De standaardwaarde is 2.

opaque

Optioneel. opaque=True — De achtergrond van de tekst wordt gevuld met de huidige vulkleur of standaard zwart. opaque=False (standaard) — De achtergrond van de tekst krijgt dezelfde kleur als de achtergrond van het scherm.

# Display a message at the starting
# cursor position
brain.screen.print("Hello, Robot!")

Een screenshot van het VEX IQ Brain-scherm toont "Hallo, Robot!" in witte tekst op de eerste regel.

# Display a percentage with 4 decimal
# places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)

set_cursor#

set_cursor verplaatst de cursor naar een specifieke rij en kolom op het Brain-scherm. De volgende print aanroep begint met afdrukken op die locatie. Hoeveel rijen en kolommen er comfortabel passen, hangt af van het geselecteerde lettertype.

Monospaced lettertypen hebben tekens die allemaal dezelfde breedte hebben, waardoor de tekst consistent wordt geplaatst. Proportionele lettertypen daarentegen variëren in tekenbreedte, waardoor sommige letters meer ruimte innemen dan andere. Ongeacht welk type wordt gebruikt, positioneert set_cursor de cursor op basis van de rij- en kolomgrootte, niet op basis van de letterstijl. De lettergrootte kan worden aangepast met set_font.

Usage:
brain.screen.set_cursor(row, column)

Parameters

Beschrijving

row

De rij waarnaar de cursor moet worden verplaatst.

column

De kolom waarnaar de cursor moet worden verplaatst.

# Repeatedly print the Brain's timer at
# the top left of the screen
while True:
    brain.screen.print(brain.timer.time(SECONDS))
    brain.screen.next_row()
    wait(1, SECONDS)
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

Een screenshot van het IQ Brain-scherm toont 23.19 in witte tekst in de linkerbovenhoek.

next_row#

next_row verplaatst de cursor naar kolom 1 op de volgende rij van het Brain-scherm.

Usage:
brain.screen.next_row()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

Een screenshot van het IQ Brain-scherm toont 'Regel 1' in witte tekst in de linkerbovenhoek en 'Regel 2' direct daaronder.

clear_row#

clear_row wist één regel tekst op het Brain-scherm.

Usage:
brain.screen.clear_row(row, color)

Parameters

Beschrijving

rij

Optioneel. De rij die moet worden gewist. Standaard is dit de huidige cursorrij.

kleur

Optioneel. De kleur die op de gewiste rij moet worden toegepast. Mogelijke opties:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
U kunt ook een aangepaste kleur opgeven.

# Display text on two rows
brain.screen.print("This text stays")
brain.screen.next_row()
brain.screen.print("This disappears")

# Wait 3 seconds before clearing
# only the second row
wait(3, SECONDS)
brain.screen.clear_row()

# Turn the 5th row green
brain.screen.clear_row(5, Color.GREEN)

row#

row geeft de rij aan waar de tekst als geheel getal wordt afgedrukt.

Usage:
brain.screen.row()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# Set cursor to (3,2) and print 
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

Een schermafbeelding van het IQ Brain-scherm met een wit cijfer 3 helemaal links op het scherm, verticaal gecentreerd, op de positie van rij 3 kolom 2.

column#

column geeft de kolom aan waar de tekst als geheel getal wordt afgedrukt.

Usage:
brain.screen.column()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# Set cursor to (3,2) and print 
# column number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.column())

Een schermafbeelding van het IQ Brain-scherm met een wit cijfer 2 helemaal links op het scherm, verticaal gecentreerd, op de positie van rij 3 kolom 2.

get_string_width#

get_string_width retourneert de breedte van een tekenreeks in pixels als een geheel getal, zoals deze op het scherm van de Brain zou verschijnen. De breedte varieert afhankelijk van de lengte van de tekenreeks en het huidige lettertype.

Usage:
brain.screen.get_string_width(string)

Parameters

Beschrijving

string

Het touwtje om te meten.

get_string_height#

get_string_height retourneert de hoogte van een tekenreeks in pixels als een geheel getal, zoals deze op het Brain-scherm zou verschijnen. De hoogte varieert afhankelijk van de lengte van de tekenreeks en het huidige lettertype.

Usage:
brain.screen.get_string_height(string)

Parameters

Beschrijving

string

Het touwtje om te meten.

Mutators#

clear_screen#

clear_screen wist alle tekeningen en tekst van het scherm van de hersenen.

Usage:
brain.screen.clear_screen(color)

Parameters

Beschrijving

color

Optioneel. Hiermee stelt u de schermkleur in. Mogelijke opties:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
U kunt ook een aangepaste kleur opgeven.

# Draw a circle and clear it after 
# 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()

# Turn the screen red
brain.screen.clear_screen(Color.RED)

Een screenshot van het IQ Brain-scherm met het hele afdrukbare gebied felrood.

set_font#

set_font stelt het lettertype in dat wordt gebruikt voor het weergeven van tekst op het Brain-scherm. Dit lettertype is van toepassing op alle tekst die wordt afgedrukt met print of print_at. Het standaardlettertype aan het begin van een project is MONO20.

Usage:
brain.screen.set_font(fontname)

Parameter

Beschrijving

fontname

Sets the font to one of the following:

  • MONO12
  • MONO15
  • MONO20
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
These options are shown below.

Een screenshot van het VEX IQ Brain-scherm met een reeks cijfers en letters in het lettertype Mono 12. De letters AZ staan ​​op één regel en beslaan de volledige breedte van het scherm. De linkerbenedenhoek geeft 26 tekens in de breedte en 9 rijen aan.
MONO12

Dezelfde schermafbeelding als de vorige, nu met het lettertype Mono 15. De letters AT staan ​​op één regel en beslaan de volledige breedte van het scherm. De linkerbenedenhoek geeft 20 tekens per regel en 7 rijen aan.
MONO15

Dezelfde schermafbeelding als de vorige, nu met het lettertype Mono 20. De letters AP staan ​​op één regel en beslaan de volledige breedte van het scherm. De linkerbenedenhoek geeft 16 tekens per regel en 5 rijen aan.
MONO20

Dezelfde schermafbeelding als de vorige, nu met het lettertype Mono 30. De cijfers 1 tot en met 9 en een extra 0 staan ​​op één regel, over de volledige breedte van het scherm. De linkerbenedenhoek geeft 3 rijen aan.
MONO30

Dezelfde schermafbeelding als de vorige, nu met het lettertype Mono 40. De cijfers 1 tot en met 8 staan ​​op de tweede regel en beslaan de volledige breedte van het scherm.
MONO40

Dezelfde schermafbeelding als de vorige, nu met het lettertype Mono 60. Op het scherm staat MN 60 in een groot lettertype, dat bijna de hele bovenste helft van het scherm in beslag neemt.
MONO60

Dezelfde schermafbeelding als de vorige, nu met het Prop 20-lettertype. De letters AW staan ​​op één regel en beslaan de volledige breedte van het scherm. De linkerbenedenhoek geeft 26 tekens per regel en 5 rijen aan.
PROP20

Dezelfde schermafbeelding als de vorige, nu met het Prop 30-lettertype. De cijfers 1-9 worden twee keer herhaald op één regel, over de volledige breedte van het scherm. De linkerbenedenhoek geeft 18 tekens aan, verdeeld over 3 rijen.
PROP30

Dezelfde schermafbeelding als de vorige, nu met het Prop 40-lettertype. Op de bovenste regel staat Prop 40 en op de tweede regel staat 14 tekens en 2 regels.
PROP40

Dezelfde schermafbeelding als de vorige, nu met het Prop 60-lettertype. Op het scherm staat PROP 60 in een groot lettertype, dat bijna de hele bovenste helft van het scherm in beslag neemt.
PROP60

# Display two different fonts on 
# two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

Een screenshot van het IQ Brain-scherm met witte tekst op twee regels in de linkerbovenhoek. De eerste regel luidt Mono Medium en de tweede regel direct daaronder luidt Prop Medium in een kleiner lettertype.

set_pen_width#

set_pen_width stelt de dikte in van getekende lijnen en vormcontouren.

Usage:
brain.screen.set_pen_width(width)

Parameter

Beschrijving

width

De penbreedte, in pixels, van 0 tot 32.

# Draw two circles with
# different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

Een screenshot van het IQ Brain-scherm met twee witte cirkels in de onderste helft van het scherm. De cirkel aan de linkerkant heeft een smallere rand dan de cirkel aan de rechterkant.

set_pen_color#

set_pen_color stelt de kleur in van tekst, pixels, lijnen en vormcontouren.

Usage:
brain.screen.set_pen_color(color)

Parameter

Beschrijving

color

Optioneel. De te gebruiken pen en letterkleur. Mogelijke opties:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
U kunt ook een aangepaste kleur opgeven.

# Draw two rectangles with
# different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

Een screenshot van het IQ Brain-scherm met twee kleine rechthoekjes getekend op de onderste helft van het scherm. De rechthoek aan de linkerkant is blauw en die aan de rechterkant is wit.

set_fill_color#

set_fill_color stelt de vulkleur in die wordt gebruikt bij het tekenen van vormen.

Usage:
brain.screen.set_fill_color(color)

Parameter

Beschrijving

color

Optioneel. De opvulkleur die gebruikt moet worden. Mogelijke opties:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
U kunt ook een aangepaste kleur opgeven.

# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

Een screenshot van het IQ Brain-scherm met een felgele cirkel met een dunne witte rand getekend op de linkerhelft van het scherm.

set_origin#

set_origin stelt het oorsprongspunt in dat wordt gebruikt voor tekenen en coördinaatgebaseerd afdrukken op het Brain-scherm. Standaard is het oorsprongspunt de linkerbovenhoek van het scherm.

Usage:
brain.screen.set_origin(x, y)

Parameter

Beschrijving

x

De nieuwe x-coördinaat die als oorsprong moet worden ingesteld, wordt gegeven als een geheel getal van 0 tot 159.

y

De nieuwe y-coördinaat die als oorsprong moet worden ingesteld, wordt gegeven als een geheel getal van 0 tot 107.

# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

Een screenshot van een IQ Brain-scherm met een witte lijn die iets links van het midden begint en diagonaal naar beneden en naar rechts loopt, richting de rechteronderhoek van het scherm.

Tekenen#

draw_pixel#

draw_pixel tekent één pixel op de geselecteerde x- en y-coördinaat met behulp van de huidige penkleur.

Usage:
brain.screen.draw_pixel(x, y)

Parameter

Beschrijving

x

De x-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 159.

y

De y-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 107.

# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)

Een screenshot van het IQ Brain-scherm met een klein wit stipje in het midden van het scherm.

draw_line#

draw_line tekent een lijn van de eerste schermcoördinaat (x1, y1) naar de tweede schermcoördinaat (x2, y2) met behulp van de huidige penbreedte en penkleur.

De x- en y-coördinaten gebruiken de standaard oorsprong (0, 0), tenzij een andere oorsprong is ingesteld met set_origin.

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

Parameter

Beschrijving

x1

De startcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 159.

y1

De begincoördinaat van de lijn op de y-as, gegeven als een geheel getal van 0 tot 107.

x2

De eindcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 159.

y2

De eind-y-coördinaat van de lijn, gegeven als een geheel getal van 0 tot 107.

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

Een screenshot van het IQ Brain-scherm met een witte diagonale lijn getekend van de linkerbovenhoek naar de rechteronderhoek.

draw_rectangle#

draw_rectangle tekent een rechthoek met de linkerbovenhoek op de geselecteerde (x, y) coördinaat en een grootte bepaald door de opgegeven breedte en hoogte, beide gemeten in pixels. De omtrek van de rechthoek wordt getekend met de huidige penbreedte en penkleur. Het interieur wordt gevuld met de huidige vulkleur, tenzij de optionele color parameter wordt gebruikt.

De x- en y-coördinaten gebruiken de standaard oorsprong (0,0), tenzij een andere oorsprong is ingesteld met set_origin.

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

Parameter

Beschrijving

x

De x-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 159.

y

De y-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 107.

width

De breedte van de rechthoek, in pixels.

height

De hoogte van de rechthoek, in pixels.

color

Optioneel. De opvulkleur van de rechthoek. Mogelijke opties:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
U kunt ook een aangepaste kleur opgeven.

# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

Een screenshot van het IQ Brain-scherm met een grote rode rechthoek met een dunne witte rand, bijna in het midden van het scherm getekend.

draw_circle#

draw_circle tekent een cirkel met het middelpunt op de geselecteerde (x, y) coördinaat en een grootte bepaald door de opgegeven straal, alles gemeten in pixels. De omtrek van de cirkel wordt getekend met de huidige penbreedte en penkleur. Het interieur wordt gevuld met de huidige vulkleur, tenzij de optionele color parameter wordt gebruikt.

De x- en y-coördinaten gebruiken de standaard oorsprong (0,0), tenzij een andere oorsprong is ingesteld met set_origin.

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

Parameter

Beschrijving

x

De x-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 159.

y

De y-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 107.

radius

De straal van de cirkel, in pixels.

color

Optioneel. De opvulkleur van de cirkel. Mogelijke opties:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
U kunt ook een aangepaste kleur opgeven.

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

Een screenshot van het IQ Brain-scherm met een effen groene cirkel met een dunne witte rand in het midden van het scherm.

set_clip_region#

set_clip_region definieert een rechthoekig gebied op het scherm waarbinnen alle tekeningen en tekst worden weergegeven. Inhoud buiten dit gebied wordt niet getoond.

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

Parameter

Beschrijving

x

De x-coördinaat van de linkerbovenhoek van het knipgebied, weergegeven als een geheel getal of een decimaal getal van 0 tot 159.

y

De y-coördinaat van de linkerbovenhoek van het knipgebied, weergegeven als een geheel getal of een decimaal getal van 0 tot 107.

width

De breedte van het knipgebied in pixels.

height

De hoogte van het knipgebied in pixels.

# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

Een screenshot van het IQ Brain-scherm met witte tekst in het midden van het scherm waarop 'Uitsnijden' staat, met daaronder een massief rood vierkant dat laat zien wat er in het knipgebied wordt afgedrukt.

render#

render maakt dubbele buffering mogelijk voor het scherm van de Brain. Zodra deze functie is aangeroepen, zullen tekenopdrachten (zoals tekst, vormen of afbeeldingen) niet langer direct zichtbaar zijn gedurende de rest van het project. Updates worden pas weergegeven wanneer render opnieuw wordt gebruikt. Dit zorgt voor vloeiendere en meer gecontroleerde schermupdates, maar betekent wel dat er niets zichtbaar zal zijn totdat render wordt gebruikt.

Usage:
brain.screen.render()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()