OpenSesame
Rapunzel Code Editor
DataMatrix
Support forum
Python Tutorials
MindProbe
Supported by

Leinwand-Funktionen

Die Canvas-Klasse wird verwendet, um visuelle Reize darzustellen. Im Allgemeinen erstellt man ein Canvas-Objekt mit der Canvas()-Factory-Funktion. Da Canvas() eine Funktion ist, muss man bei ihrem Aufruf nicht new verwenden. Die JavaScript Canvas-Klasse ahmt die entsprechende Python Canvas Klasse nach.

Style-Keywords können an alle Funktionen übergeben werden, die styleArgs akzeptieren. Style-Keywords können auch als Eigenschaften des Canvas-Objekts festgelegt werden. Eine Übersicht über die Style-Keywords finden Sie in der Python Canvas Dokumentation.

Wichtig: JavaScript unterstützt keine benannten Parameter (oder: Stichworte). Daher werden Parameter als Object mit benannten Eigenschaften und Standardwerten übergeben. So:

var myCanvas = Canvas()
// (korrekt) Parameter als Object übergeben ...
myCanvas.fixdot({color: 'red'})
// (falsch) ... und *nicht* als benannte Parameter
// myCanvas.fixdot(color='red')
myCanvas.show()

Canvas.arrow(obj)

Zeichnet einen Pfeil. Ein Pfeil besteht aus 7 Eckpunkten, mit einer Pfeilspitze, die auf (ex, ey) zeigt.

Param Typ Standard
obj Object
obj.sx Number 0
obj.sy Number 0
obj.ex Number 50
obj.ey Number 0
obj.body_length Number 0.8
obj.body_width Number 0.5
obj.head_width Number 30
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
var w = vars.width / 2
var h = vars.height / 2
// Wichtig: Parameter werden als Object übergeben
myCanvas.arrow({sx: 0, sy: 0, w: w, h: h, head_width:100, body_length:0.5})

Canvas.clear([styleArgs])

Löscht die Leinwand mit der aktuellen Hintergrundfarbe. Beachten Sie, dass es im Allgemeinen schneller ist, für jede Experimentanzeige eine andere Leinwand zu verwenden, als eine einzelne Leinwand mehrfach zu löschen und neu zu zeichnen.

Param Typ Standard
[styleArgs] Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.fixdot({color: 'green'})
myCanvas.show()
// etwas tun
myCanvas.clear()
myCanvas.fixdot({color: 'red'})
myCanvas.show()

Canvas.circle(obj)

Zeichnet einen Kreis.

Param Typ Standard
obj Object
obj.x Number 0
obj.y Number 0
obj.r Number 50
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.circle({x: 100, y: 100, r: 50, fill: true, color:'red'})

Canvas.ellipse(obj)

Zeichnet eine Ellipse.

Param Typ Standard
obj Object
obj.x Number -50
obj.y Number -25
obj.w Number 100
obj.h Number 50
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.ellipse({x: -10, y: -10, w: 20, h: 20, fill:true})

Canvas.fixdot(obj)

Zeichnet einen Fixationspunkt. Der Standardstil ist mittel-offen.

  • 'large-filled' ist ein gefüllter Kreis mit einem Radius von 16px.
  • 'medium-filled' ist ein gefüllter Kreis mit einem Radius von 8px.
  • 'small-filled' ist ein gefüllter Kreis mit einem Radius von 4px.
  • 'large-open' ist ein gefüllter Kreis mit einem Radius von 16px und einem 2px Loch.
  • 'medium-open' ist ein gefüllter Kreis mit einem Radius von 8px und einem 2px Loch.
  • 'small-open' ist ein gefüllter Kreis mit einem Radius von 4px und einem 2px Loch.
  • 'large-cross' ist ein 16px Kreuz.
  • 'medium-cross' ist ein 8px Kreuz.
  • 'small-cross' ist ein 4px Kreuz.
Param Typ Standard
obj Object
obj.x Number 0
obj.y Number 0
obj.style String 'default'
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.fixdot()

Canvas.gabor(obj)

Zeichnet einen Gabor-Patch.

Param Typ Standard
obj Object
obj.x Number 0
obj.y Number 0
obj.orient Number 0
obj.freq Number .1
obj.env String 'gaussian'
obj.size Number 96
obj.stdev Number 12
obj.phase Number 0
obj.col1 String 'white'
obj.col2 String 'black'
obj.bgmode String 'avg'
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.gabor({x: 100, y: 100, orient: 45, freq: .05})

Canvas.image(obj)

Zeichnet ein Bild aus einer Datei im Dateipool.

Param Typ Standard
obj Object
obj.fname String
obj.center Boolean true
obj.x Number 0
obj.y Number 0
obj.scale Number 1
obj.rotation Number 0
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.image({fname: 'image_in_pool.png'})

Canvas.line(obj)

Zeichnet eine Linie.

Param Typ Standard
obj Object
obj.sx Number 0
obj.sy Number 0
obj.ex Number 50
obj.ey Number 0
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
var ex = vars.width / 2
var ey = vars.height / 2
myCanvas.line({sx: 0, sy: 0, ex: ex, ey: ey})

Canvas.noise_patch(obj)

Zeichnet einen Rauschfleck mit einer Hülle.

Param Typ Standard
obj Object
obj.x Number 0
obj.y Number 0
obj.env String 'gaussian'
obj.size Number 96
obj.stdev Number 12
obj.col1 String 'white'
obj.col2 String 'black'
obj.bgmode String 'avg'
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.noise_patch({x: 100, y: 100, env: 'circular'})

Canvas.polygon(obj)

Zeichnet ein Polygon, das durch eine Liste von Eckpunkten definiert ist. D.h. eine Form aus Punkten, die durch Linien verbunden sind.

Param Typ Standard
obj Object
obj.vertices Array.<Array.<Number>>
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
var n1 = [0,0]
var n2 = [100, 100]
var n3 = [0, 100]
myCanvas.polygon({vertices: [n1, n2, n3]})

Canvas.rect(obj)

Zeichnet ein Rechteck.

Param Typ Standard
obj Object
obj.x Number -50
obj.y Number -25
obj.w Number 100
obj.h Number 50
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.rect({x: -10, y: -10, w: 20, h: 20, fill:true})

Canvas.show() ⇒ Number

Zeigt oder "flippt" das Canvas auf dem Bildschirm.

Gibt zurück: Number - Ein Zeitstempel der Zeit, zu der das Canvas auf dem Bildschirm erschienen ist.

Canvas.text(obj)

Zeichnet Text.

Param Typ Standard
obj Object
obj.text String
obj.center Boolean true
obj.x Number 0
obj.y Number 0
..obj.styleArgs Object {}

Beispiel

var myCanvas = Canvas()
myCanvas.text({text: 'Etwas Text'})
Supported by