- 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
Recortar (representar parte) de una imagen
Para objetos gráficos con imágenes (OBJ_BITMAP_LABEL y OBJ_BITMAP), MQL5 permite habilitar la visualización de una parte de la imagen especificada por la propiedad OBJPROP_BMPFILE. Para ello, debe establecer el tamaño del objeto (OBJPROP_XSIZE y OBJPROP_YSIZE) para que sea más pequeño que el de la imagen y establecer las coordenadas de la esquina superior izquierda del fragmento rectangular visible utilizando las propiedades enteras OBJPROP_XOFFSET y OBJPROP_YOFFSET. Estas dos propiedades establecen, respectivamente, la sangría a lo largo de X e Y en píxeles desde los bordes izquierdo y superior de la imagen original.
Representación de parte de una imagen para un objeto
Normalmente, para los iconos de las barras de herramientas (conjuntos de botones, menús, etc.) se utiliza una técnica similar que utiliza parte de una imagen grande: un único archivo con todos los iconos proporciona un consumo de recursos más eficiente que muchos archivos pequeños con iconos individuales.
El script de prueba ObjectBitmapOffset.mq5 crea varios paneles con imágenes (OBJ_BITMAP_LABEL), y para todos ellos se especifica el mismo archivo gráfico en la propiedad OBJPROP_BMPFILE. No obstante, debido a las propiedades OBJPROP_XOFFSET y OBJPROP_YOFFSET, todos los objetos muestran diferentes partes de la imagen.
void SetupBitmap(const int i, const int x, const int y, const int size,
|
La imagen original contiene varios iconos pequeños de 46 x 46 píxeles cada uno. El script los «recorta» uno a uno y los coloca verticalmente en el borde derecho de la ventana.
A continuación se muestra un archivo genérico (/Files/MQL5Book/icons-322-46.bmp) y lo que ha sucedido en el gráfico:
Archivo BMP con iconos
Objetos de botón con iconos en el gráfico