- Tipos de objetos y características de la especificación de sus coordenadas
- Objetos vinculados a tiempo y precio
- Objetos vinculados a coordenadas de pantalla
- Crear objetos
- Borrar objetos
- Encontrar objetos
- Visión general de las funciones de acceso a las propiedades de los objetos
- Propiedades principales de los objetos
- Coordenadas de tiempo y precio
- Anclar la esquina de la ventana y las coordenadas de la pantalla
- Definir el punto de anclaje en el objeto
- Gestión del estado de los objetos
- Prioridad de los objetos (orden Z)
- Ajustes de visualización de objetos: color, estilo y marco
- Ajustes de fuente
- Rotar un texto en un ángulo arbitrario
- Determinar ancho y alto del objeto
- Visibilidad de los objetos en el contexto de marcos temporales
- Asignar un código de carácter a una etiqueta
- Propiedades de los rayos para objetos con líneas rectas
- Gestionar el estado pulsado de los objetos
- Ajustar imágenes en objetos bitmap
- Recortar (dar salida a parte) de una imagen
- Propiedades de los campos de entrada: alineación y sólo lectura
- Anchura del canal de desviación estándar
- Establecer niveles en objetos de nivel
- Propiedades adicionales de los objetos de Gann, Fibonacci y Elliot
- Objeto gráfico
- Mover objetos
- Obtener hora o precio en puntos de línea especificados
Ajustar imágenes en objetos bitmap
Los objetos de tipo OBJ_BITMAP_LABEL (un panel con una imagen situada en coordenadas de pantalla) permiten mostrar imágenes de mapa de bits. Por imágenes de mapa de bits se entiende el formato gráfico BMP: aunque en principio existen muchos otros formatos de ráster (por ejemplo, PNG o GIF), actualmente no se admiten en MQL5, igual que los vectoriales.
La propiedad de cadena OBJPROP_BMPFILE permite especificar una imagen para un objeto. Debe contener el nombre del archivo BMP o recurso.
Dado que este objeto admite la posibilidad de conmutación de estados en dos posiciones (véase OBJPROP_STATE), debe utilizarse un parámetro modificador para ello: una imagen para el estado «activado»/«pulsado» se establece en el índice 0, y el estado «desactivado»/«liberado» se establece en el índice 1. Si sólo especifica una imagen (sin modificador, que equivale a 0), se utilizará para ambos estados. El estado por defecto de un objeto es «desactivado»/«liberado».
El tamaño del objeto se hace igual al tamaño de la imagen, pero puede cambiarse especificando valores más pequeños en las propiedades OBJPROP_XSIZE y OBJPROP_YSIZE: en este caso, sólo se muestra una parte de la imagen (para más detalles, véase la siguiente sección sobre sincronización de tramas o frames).
La longitud de la cadena OBJPROP_BMPFILE no debe superar los 63 caracteres. Puede contener no sólo el nombre del archivo, sino también la ruta hacia él. Si la cadena comienza con un carácter separador de ruta (barra diagonal '/' o doble barra invertida '\\'), entonces el archivo se busca en relación a terminal_data_directory/MQL5/. De lo contrario, el archivo se busca en relación con la carpeta donde se encuentra el programa MQL.
Por ejemplo, la cadena «\\Images\euro.bmp» (o «/Images/euro.bmp») hace referencia a un archivo del directorio MQL5/Images/euro.bmp. El paquete estándar de entrega de terminales incluye la carpeta Images en el directorio MQL5, y hay un par de archivos de prueba euro.bmp y dollar.bmp, por lo que la ruta está en funcionamiento. Si especifica la cadena «Images\euro.bmp» o («Images/euro.bmp»), esto implicará, por ejemplo, para un script lanzado desde MQL5/Scripts/MQL5Book/, que la carpeta Images con el archivo euro.bmp debe estar ubicada directamente allí, es decir, toda la ruta será MQL5/Scripts/MQL5Book/Images/euro.bmp. No existe tal archivo en nuestro libro, y esto provocaría un error al cargar la imagen. No obstante, esta disposición de los archivos gráficos junto al programa tiene sus ventajas: es más fácil controlar el montaje y no hay confusión con imágenes mezcladas de distintos programas.
El script ObjectBitmap.mq5 crea un panel con una imagen en el gráfico y le asigna dos imágenes: «\\Images\\dollar.bmp» e «\\Images\\euro.bmp».
#include "ObjectPrefix.mqh"
|
Al igual que con el resultado del script de la sección anterior, aquí también puede hacer clic en el objeto de imagen y ver que cambia de la imagen del dólar a la del euro y viceversa.