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

Funciones de lienzo

La clase Canvas se utiliza para presentar estímulos visuales. Generalmente se crea un objeto Canvas con la función de fábrica Canvas(). Debido a que Canvas() es una función, no es necesario usar new al llamarla. La clase de JavaScript Canvas imita la clase Canvas de Python correspondiente.

Palabras clave de estilo se pueden pasar a todas las funciones que aceptan styleArgs. Las palabras clave de estilo también se pueden establecer como propiedades del objeto Canvas. Para una descripción general de las palabras clave de estilo, consulte la Documentación de Canvas en Python.

Importante: JavaScript no admite parámetros con nombre (o: palabras clave). Por lo tanto, los parámetros se pasan como un Object con propiedades nombradas y valores predeterminados. Así:

var myCanvas = Canvas()
// (correcto) pasar parámetros como un objeto ...
myCanvas.fixdot({color: 'red'})
// (incorrecto) ... y *no* como parámetros nombrados
// myCanvas.fixdot(color='red')
myCanvas.show()

Canvas.arrow(obj)

Dibuja una flecha. Una flecha es un polígono compuesto por 7 vértices, con una cabeza de flecha apuntando a (ex, ey).

Param Tipo Predeterminado
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 {}

Ejemplo

var myCanvas = Canvas()
var w = vars.width / 2
var h = vars.height / 2
// Importante: los parámetros se pasan como un objeto
myCanvas.arrow({sx: 0, sy: 0, w: w, h: h, head_width:100, body_length:0.5})

Canvas.clear([styleArgs])

Limpia el lienzo con el color de fondo actual. Tenga en cuenta que es generalmente más rápido usar un lienzo diferente para cada pantalla experimental que usar un único lienzo y borrarlo y volver a dibujarlo repetidamente.

Param Tipo Predeterminado
[styleArgs] Object {}

Ejemplo

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

Canvas.circle(obj)

Dibuja un círculo.

Param Tipo Predeterminado
obj Object
obj.x Number 0
obj.y Number 0
obj.r Number 50
..obj.styleArgs Object {}

Ejemplo

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

Canvas.ellipse(obj)

Dibuja una elipse.

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

Ejemplo

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

Canvas.fixdot(obj)

Dibuja un punto de fijación. El estilo predeterminado es medium-open.

  • 'large-filled' es un círculo relleno con un radio de 16px.
  • 'medium-filled' es un círculo relleno con un radio de 8px.
  • 'small-filled' es un círculo relleno con un radio de 4px.
  • 'large-open' es un círculo relleno con un radio de 16px y un agujero de 2px.
  • 'medium-open' es un círculo relleno con un radio de 8px y un agujero de 2px.
  • 'small-open' es un círculo relleno con un radio de 4px y un agujero de 2px.
  • 'large-cross' es una cruz de 16px.
  • 'medium-cross' es una cruz de 8px.
  • 'small-cross' es una cruz de 4px.
Param Tipo Predeterminado
obj Object
obj.x Number 0
obj.y Number 0
obj.style String 'default'
..obj.styleArgs Object {}

Ejemplo

var myCanvas = Canvas()
myCanvas.fixdot()

Canvas.gabor(obj)

Dibuja un parche de Gabor.

Param Tipo Predeterminado
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 {}

Ejemplo

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

Canvas.image(obj)

Dibuja una imagen de un archivo en la piscina de archivos.

Param Tipo Predeterminado
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 {}

Ejemplo

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

Canvas.line(obj)

Dibuja una línea.

Param Tipo Predeterminado
obj Object
obj.sx Number 0
obj.sy Number 0
obj.ex Number 50
obj.ey Number 0
..obj.styleArgs Object {}

Ejemplo

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)

Dibuja un parche de ruido, con un sobre.

Param Tipo Predeterminado
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 {}

Ejemplo

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

Canvas.polygon(obj)

Dibuja un polígono definido por una lista de vértices. Es decir, una forma de puntos conectados por líneas.

Param Tipo Predeterminado
obj Object
obj.vertices Array.<Array.<Number>>
..obj.styleArgs Object {}

Ejemplo

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

Canvas.rect(obj)

Dibuja un rectángulo.

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

Ejemplo

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

Canvas.show() ⇒ Number

Muestra, o 'voltea', el canvas en la pantalla.

Devuelve: Number - Una marca de tiempo en la que el lienzo apareció en la pantalla.

Canvas.text(obj)

Dibuja texto.

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

Ejemplo

var myCanvas = Canvas()
myCanvas.text({text: 'Algún texto'})
Supported by