VImageEdit

Hereda de: VAbstractBrowser.
Esta clase representa al control editor de imágenes.

Indice de propiedades

Boolean modified
Boolean readOnly

Funciones

Generales

VImage image()
void setImage( VImage image )
void setViewMode( Number mode )
Number viewMode()

De portapapeles

Boolean canPaste()
void copy()
void cut()
void paste()

De comandos

void editDialog()

De cámara de fotos

Boolean isCameraActive()
void startCamera( VBytearray deviceName )
void stopCamera()

Señales

Value changed

Documentación de propiedades

modified

Devuelve true si el contenido del control ha sido modificado.

readOnly

Permite leer o configurar si el control es de sólo lectura.

Documentación de funciones

Funciones generales

VImage image()

Crea un objeto de la clase VImage con la imagen contenida en el control.

void setImage( VImage image )

Mueve la imagen del objeto de la clase VImagen al control.
Parámetros:
  • image: objeto de la clase VImage que contiene la imagen a mover al control.
Si el control de edición del campo objeto dibujo (formulario) es de sólo lectura o no cumple la condición de la propiedad de activo, la imagen no se carga en el control. Debemos acceder al registro con la clase VRegister y usar la función setFieldImage() para introducirlo en el campo y actualizar la vista.

void setViewMode( Number mode )

Asigna el valor de la propiedad aspecto de dibujo que aplicará el control. Se debe usar el enum de View modes de la clase VImageWidget.
Parámetros:
Ejemplo: en un formulario, cambiar el modo de visualización de un control de edición de un campo objeto dibujo a mosaico:
//Obtenemos el formulario
var formulario = theRoot.dataView();
//Obtenemos el control de edición del campo objeto dibujo
var edicionDibujo = formulario.control("ED_FOTO");
//Cambiamos el modo de visualización a mosaico
edicionDibujo.setViewMode(VImageWidget.ViewModeTile);

Number viewMode()

Devuelve el aspecto del dibujo aplicado en el control. Ver enum View modes.

Funciones de portapapeles

Boolean canPaste()

Devuelve true si el control está activo y permite pegar una imagen a través del portapapeles.

void copy()

Copia la imagen del control al portapapeles.

void cut()

Corta la imagen del control y la mueve al portapapeles.

void paste()

Pega una imagen del portapapeles al control.

Funciones de comandos

void editDialog()

Abre el cuadro de diálogo con el editor de imágenes de Velneo.

Funciones de cámara de fotos

Boolean isCameraActive()

Devuelve true si el modo cámara está activo y false si está en modo normal.

void startCamera( VByteArray deviceName )

Arranca el modo cámara en el control con la cámara especificada en el parámetro.
En la clase VApp disponemos de la función availableCameras() para obtener un array de los dispositivos de cámara de fotos existentes en el sistema o defaultCamera() para obtener el nombre del dispositivo de cámara por defecto.
Parámetros:
  • VByteArray deviceName: array de bites con el nombre del dispositivo.

void startDefaultCamera()

Arranca el modo cámara en el control con la cámara por defecto.

void stopCamera()

Cierra el modo cámara sin hacer foto.

void takePicture()

Hace una foto, cierra el modo cámara y deja la foto tomada en el campo y en el control imagen. Si aceptamos el formulario la foto queda guardada.

Ejemplos

1. Cargar en un combobox de un formulario la lista de cámaras del dispositivo y activar la que el usuario seleccione

Proceso para alimentar el combo box de cámaras disponibles

var aCamaras = Array;
var aCamarasDescripcion = Array;
var oCombo = theRoot.dataView().control("CBX_CAMARAS");
aCamaras = theApp.availableCameras();
aCamarasDescripcion = theApp.availableCameraDescriptions();
//Cargamos a continuacion todas las camaras detectadas por el sistema
for ( var i = 0; i < aCamarasDescripcion.length; i++ )
{
oCombo.addItem( aCamarasDescripcion[ i ] );
}

Proceso para activar la cámara seleccionada en el combo

// Obtenemos los nombres de las cámaras, que es lo que se usa para seleccionar la cámara
var aCamaras = theApp.availableCameras();
//Combobox
var oCombo = theRoot.dataView().control("CBX_CAMARAS");
// Objeto imagen del formulario
var objetoImagen = theRoot.dataView().control("IMAGEN");
// Posición del combo seleccionada que ha de corresponderse con el array de nombres de la cámara para que funcione
var i = oCombo.currentIndex;
// Nos quedamos con el nombre correspondiente a la cámara seleccionada por el array
var ba = new VByteArray();
ba.setText(aCamaras[i]);
// Iniciar cámara
objetoImagen.startCamera( ba );
Última actualización 9mo ago