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'})