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

Fonctions de toile

La classe Canvas est utilisée pour présenter des stimuli visuels. Vous créez généralement un objet Canvas avec la fonction de fabrique Canvas(). Comme Canvas() est une fonction, vous n'avez pas besoin d'utiliser new lors de son appel. La classe JavaScript Canvas imite la classe Python Canvas correspondante.

Les mots-clés de style peuvent être passés à toutes les fonctions qui acceptent styleArgs. Les mots-clés de style peuvent également être définis comme propriétés de l'objet Canvas. Pour un aperçu des mots-clés de style, voir la documentation Python Canvas.

Important : JavaScript ne prend pas en charge les paramètres nommés (ou : les mots-clés). Par conséquent, les paramètres sont passés via un Object avec des propriétés nommées et des valeurs par défaut. Comme ceci :

var myCanvas = Canvas()
// (correct) passez des paramètres comme un Object ...
myCanvas.fixdot({color: 'red'})
// (incorrect) ... et *non* comme des paramètres nommés
// myCanvas.fixdot(color='red')
myCanvas.show()

Canvas.arrow(obj)

Dessine une flèche. Une flèche est un polygone composé de 7 sommets, avec une pointe de flèche pointant vers (ex, ey).

Param Type Default
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 {}

Exemple

var myCanvas = Canvas()
var w = vars.width / 2
var h = vars.height / 2
// Important : les paramètres sont passés comme un Object
myCanvas.arrow({sx: 0, sy: 0, w: w, h: h, head_width:100, body_length:0.5})

Canvas.clear([styleArgs])

Efface le canevas avec la couleur d'arrière-plan actuelle. Notez qu'il est généralement plus rapide d'utiliser un canevas différent pour chaque affichage expérimental plutôt que d'utiliser un seul canevas et de le effacer et le redessiner à plusieurs reprises.

Param Type Default
[styleArgs] Object {}

Exemple

var myCanvas = Canvas()
myCanvas.fixdot({color: 'green'})
myCanvas.show()
// faire quelque chose
myCanvas.clear()
myCanvas.fixdot({color: 'red'})
myCanvas.show()

Canvas.circle(obj)

Dessine un cercle.

Param Type Default
obj Object
obj.x Number 0
obj.y Number 0
obj.r Number 50
..obj.styleArgs Object {}

Exemple

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

Canvas.ellipse(obj)

Dessine une ellipse.

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

Exemple

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

Canvas.fixdot(obj)

Dessine un point de fixation. Le style par défaut est moyen-ouvert.

  • 'large-filled' est un cercle rempli avec un rayon de 16px.
  • 'medium-filled' est un cercle rempli avec un rayon de 8px.
  • 'small-filled' est un cercle rempli avec un rayon de 4px.
  • 'large-open' est un cercle rempli avec un rayon de 16px et un trou de 2px.
  • 'medium-open' est un cercle rempli avec un rayon de 8px et un trou de 2px.
  • 'small-open' est un cercle rempli avec un rayon de 4px et un trou de 2px.
  • 'large-cross' est une croix de 16px.
  • 'medium-cross' est une croix de 8px.
  • 'small-cross' est une croix de 4px.
Param Type Par défaut
obj Object
obj.x Number 0
obj.y Number 0
obj.style String 'default'
..obj.styleArgs Object {}

Exemple

var myCanvas = Canvas()
myCanvas.fixdot()

Canvas.gabor(obj)

Dessine un patch Gabor.

Param Type Par défaut
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 {}

Exemple

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

Canvas.image(obj)

Dessine une image à partir d'un fichier dans le pool de fichiers.

Param Type Par défaut
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 {}

Exemple

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

Canvas.line(obj)

Dessine une ligne.

Param Type Par défaut
obj Object
obj.sx Number 0
obj.sy Number 0
obj.ex Number 50
obj.ey Number 0
..obj.styleArgs Object {}

Exemple

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)

Dessine un patch de bruit, avec une enveloppe.

Param Type Par défaut
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 {}

Exemple

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

Canvas.polygon(obj)

Dessine un polygone défini par une liste de sommets. C'est-à-dire une forme de points reliés par des lignes.

Param Type Valeur par défaut
obj Object
obj.vertices Array.<Array.<Number>>
..obj.styleArgs Object {}

Exemple

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

Canvas.rect(obj)

Dessine un rectangle.

Param Type Valeur par défaut
obj Object
obj.x Number -50
obj.y Number -25
obj.w Number 100
obj.h Number 50
..obj.styleArgs Object {}

Exemple

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

Canvas.show() ⇒ Number

Affiche, ou 'retourne', le canevas à l'écran.

Renvoie: Number - Un horodatage du moment où le canevas est apparu sur l'écran.

Canvas.text(obj)

Dessine du texte.

Param Type Valeur par défaut
obj Object
obj.text String
obj.center Boolean true
obj.x Number 0
obj.y Number 0
..obj.styleArgs Object {}

Exemple

var myCanvas = Canvas()
myCanvas.text({text: 'Du texte'})
Supported by