AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Controles, páginas y ventanas / Funciones de dibujo
  • Coordenadas
  • Dibujo con opacidad o antialiasing
  • Uso de las funciones de dibujo
  • Dibujo en PHP
  • Dibujo en código Navegador
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Dibuja un polígono:
  • en un control Imagen,
  • en una variable de tipo Image.
    WEBDEV - Código NavegadorPHP Este tipo de variable no está disponible.
  • WEBDEV - Código Servidor en una variable de tipo WDPic (en la capa de fondo),
  • WEBDEV - Código Servidor en una variable de tipo picLayer.
Linux Atención: Se requiere una configuración específica para usar esta función en Linux. Para obtener más información, consulte Los dibujos.
// Initialize the drawing in an Image control
dStartDrawing(IMG_Drawing)
// Draw a 4-side polygon whose
// background is light yellow and whose border is light blue
dPolygon(4, 10, 20, 20, 50, 40, 60, 50, 10, LightYellow, LightBlue)
WEBDEV - Código ServidorAjax
// Draw a 4-side polygon whose
// background is light yellow and whose border is light blue
dPolygon(IMG_Drawing, 4, 10, 20, 20, 50, 40, 60, 50, 10, LightYellow, LightBlue)
WEBDEV - Código ServidorWindowsPHP
// Draw a polygon from an array of point coordinates
arrCoordinatesXY is array of 0 by 2 int = [[2, 3], [14, 100], [10,70], [50, 80]]
dPolygon(arrCoordinatesXY)
arrCoordinatesXY2 is array of 0 int = [2, 2, 140, 2, 150, 70, 0, 100, 200,100]
dPolygon(arrCoordinatesXY2)
arrCoordinatesXYC is array of 36 by 2 int
Radius is int = 50
FOR I = 1 TO 36
// x
arrCoordinatesXYC[I][1] = 80 + Cos(I*10) * Radius
// y
arrCoordinatesXYC[I][2] = 60 + Sin(I*10) * Radius
END
dPolygon(arrCoordinatesXYC, LightGray, YellowToolhelp)
Sintaxis

Construir un polígono punto por punto Ocultar los detalles

dPolygon([<Image>, ] <Number of sides> , <X1> , <Y1> , <X2> , <Y2> [, <X3> , <Y3> [... [, <Xn> , <Yn>]]] [, <Background color> [, <Side color>]])
<Image>: Nombre de control opcional o variable de tipo Image, WDPic o picLayer opcional
WindowsLinux Imagen a manipular. Esta imagen puede corresponder a:
  • el nombre de un control Imagen.
  • el nombre de una variable de tipo Image.
  • WEBDEV - Código Servidor el nombre de una variable de tipo WDPic. Solo se manipulará la capa de fondo.
  • WEBDEV - Código Servidor el nombre de una variable de tipo picLayer.
Si no se especifica este parámetro, se debe definir el destino del dibujo con la función dStartDrawing.
<Number of sides>: Entero
Número de lados del polígono (hasta 23 lados). Este parámetro define el número de parejas <X>, <Y> a especificar en la función.
<X1>: Entero
Coordenada X del primer punto del polígono. Estas coordenadas se expresan en pixeles.
<Y1>: Entero
Coordenada Y del primer punto del polígono. Estas coordenadas se expresan en pixeles.
<X2>: Entero
Coordenada X del segundo punto del polígono. Estas coordenadas se expresan en pixeles.
<Y2>: Entero
Coordenada Y del segundo punto del polígono. Estas coordenadas se expresan en pixeles.
<X3>: Entero
Coordenada X del tercer punto del polígono. Estas coordenadas se expresan en pixeles.
<Y3>: Entero
Coordenada Y del tercer punto del polígono. Estas coordenadas se expresan en pixeles.
<Xn>: Entero opcional
Coordenada X del enésimo punto del polígono. Estas coordenadas se expresan en pixeles.
<Yn>: Entero opcional
Coordenada Y del enésimo punto del polígono. Estas coordenadas se expresan en pixeles.
<Background color>: Entero o constante (opcional)
Color de fondo del polígono. Este color puede corresponder a:
Si no se especifica este parámetro, el color de fondo:
  • es Transparente si no se ha utilizado la función dBackground previamente,
  • corresponde al color especificado en la última llamada a la función dBackground.
<Side color>: Entero o constante (opcional)
Color de los lados del polígono. Este color puede corresponder a:
Si no se especifica este parámetro, el color de la línea:
  • corresponde al color especificado en la última llamada a la función dPen,
  • es el mismo que el color de fondo si no se ha utilizado la función dPen.

Construir un polígono mediante un array de coordenadas X e Y Ocultar los detalles

dPolygon([<Image>, ] <Array of coordinates> [, <Background color> [, <Side color>]])
<Image>: Nombre de control opcional o variable de tipo Image, WDPic o picLayer opcional
WindowsLinux Imagen a manipular. Esta imagen puede corresponder a:
  • el nombre de un control Imagen.
  • el nombre de una variable de tipo Image.
  • WEBDEV - Código Servidor el nombre de una variable de tipo WDPic. Solo se manipulará la capa de fondo.
  • WEBDEV - Código Servidor el nombre de una variable de tipo picLayer.
Si no se especifica este parámetro, se debe definir el destino del dibujo con la función dStartDrawing.
<Array of coordinates>: Array de enteros o puntos
  • Array WLanguage de números enteros que contiene las coordenadas de los puntos del polígono. Los índices pares representan las coordenadas X, mientras que los impares representan las coordenadas Y de los puntos. Estas coordenadas se expresan en pixeles.
  • WEBDEV - Código Servidor Array WLanguage de variables de tipo Point que contiene las coordenadas de los puntos del polígono. Estas coordenadas se expresan en pixeles.
<Background color>: Entero o constante (opcional)
Color de fondo del polígono. Este color puede corresponder a:Si no se especifica este parámetro, el color de fondo:
  • es Transparente si no se ha utilizado la función dBackground previamente,
  • corresponde al color especificado en la última llamada a la función dBackground.
<Side color>: Entero o constante (opcional)
Color de los lados del polígono. Este color puede corresponder a:Si no se especifica este parámetro, el color de la línea:
  • corresponde al color especificado en la última llamada a la función dPen,
  • es el mismo que el color de fondo si no se ha utilizado la función dPen.
WindowsLinux

Construir un polígono a partir de una variable de tipo Polygon Ocultar los detalles

dPolygon([<Image>, ] <Polygon> [, <Background color> [, <Side color>]])
<Image>: Nombre de control opcional o variable de tipo Image, WDPic o picLayer opcional
WindowsLinux Imagen a manipular. Esta imagen puede corresponder a:
  • el nombre de un control Imagen.
  • el nombre de una variable de tipo Image.
  • WEBDEV - Código Servidor el nombre de una variable de tipo WDPic. Solo se manipulará la capa de fondo.
  • WEBDEV - Código Servidor el nombre de una variable de tipo picLayer.
Si no se especifica este parámetro, se debe definir el destino del dibujo con la función dStartDrawing.
<Polygon>: Variable de tipo Polygon
Nombre de la variable de tipo Polygon que describe los diferentes puntos del polígono.
<Background color>: Entero o constante (opcional)
Color de fondo del polígono. Este color puede corresponder a:Si no se especifica este parámetro, el color de fondo:
  • es Transparente si no se ha utilizado la función dBackground previamente,
  • corresponde al color especificado en la última llamada a la función dBackground.
<Side color>: Entero o constante (opcional)
Color de los lados del polígono. Este color puede corresponder a:Si no se especifica este parámetro, el color de la línea:
  • corresponde al color especificado en la última llamada a la función dPen,
  • es el mismo que el color de fondo si no se ha utilizado la función dPen.
Observaciones

Coordenadas

Trazado de un polígono:
dPolygon(5, 80, 10, 10, 150, 100, 200, 160, 80, 140, 40)
Trazado de un polígono
Las coordenadas se indican con respecto a la esquina superior izquierda de la imagen (coordenadas (0,0)).
Importante: No es necesario cerrar el polígono (las coordenadas del último punto no tienen que ser iguales a las coordenadas del primer punto). El polígono se "cierra" automáticamente.
Límites: un polígono puede contener hasta 100 000 puntos en WINDEV, WEBDEV y Java, y hasta 1000 puntos en Windows CE.
WEBDEV - Código ServidorWindowsPHPAjax

Dibujo con opacidad o antialiasing

Para un dibujo con opacidad (función dStartDrawing con la constante dWithOpacity) o antialiasing (función dChangeMode con la constante drawAntiAliasing), el contorno se dibuja dentro del polígono: por lo tanto, la línea se combina parcialmente con el interior del polígono. Si la línea es muy gruesa, se mostrará en dos colores.

Uso de las funciones de dibujo

Las funciones de dibujo se pueden utilizar según 2 métodos:
  • Método 1: Uso de la función dStartDrawing
    • Se debe llamar a la función dStartDrawing antes de utilizar otras funciones de dibujo. La función dStartDrawing permite definir el elemento (control Imagen o variable) en el que se aplicarán las funciones de dibujo.
    • Al dibujar en un control Imagen:
      • Las funciones de dibujo trabajan en una copia ("bitmap") de la imagen. Se pueden utilizar las funciones de dibujo de Windows (con la función dStartDrawing o CallDLL32), pero estas funciones deben utilizar el DC (Device Context) devuelto por la función API.
      • las funciones dEndDrawing y dStartDrawing no deben llamarse en el mismo proceso.
        Si se llama a las funciones dEndDrawing y dStartDrawing en el mismo proceso, no se mostrará el dibujo: se borrará automáticamente.
  • WindowsLinux Método 2: indicar el destino del dibujo directamente en la sintaxis (mediante un parámetro)
    El parámetro <Imagen> permite especificar directamente el destino del dibujo. Ya no es necesario utilizar dStartDrawing. Esta función debe ser eliminada.
PHP

Dibujo en PHP

En PHP, las funciones de dibujo se basan en la biblioteca gráfica GD. Esta biblioteca es comúnmente utilizada por los servicios de alojamiento PHP, y por lo tanto, siempre está habilitada. La versión de la biblioteca GD debe ser la versión 2.0.28 (o posterior). Esta biblioteca se puede descargar desde el sitio web de PHP.
Para habilitar (si es necesario) esta biblioteca en el equipo local, se requieren los siguientes elementos:
  • PHP instalado.
  • el archivo PHP.INI ubicado en el directorio de Windows debe tener la línea "extension=php_gd2.dll" y no ";extension=php_gd2.dll".
  • el archivo php_gd2.dll debe existir en el directorio de extensiones PHP. Este directorio está definido en el archivo PHP.INI por la variable "extension_dir".
WEBDEV - Código Navegador

Dibujo en código Navegador

Algunas funciones de dibujo están disponibles en código Navegador. Las funciones de dibujo en código Navegador se basan en el estándar HTML 5. Más concretamente, en la etiqueta "canvas" de HTML 5.
Las funcionalidades de dibujo en código Navegador solo están disponibles en navegadores recientes (compatibles con el estándar HTML 5). Para saber si el navegador utilizado propone funcionalidades de dibujo, utilice la función DrawingAvailable.
Atención: Para utilizar las funciones de dibujo con Internet Explorer 9, el proyecto debe incluir la referencia en el archivo DTD. Para ello, el modo HTML debe ser "HTML 4.01 Transitional + DTD". Esta opción está disponible en la pestaña "Avanzado" de la ventana de descripción del proyecto.
Recordatorio: Para abrir la ventana de descripción del proyecto, en la pestaña "Proyecto", en el grupo "Proyecto", haga clic en "Descripción".
Caso especial: Dibujar en el navegador de un teléfono Android: Las funciones de dibujo del navegador solo están disponibles a partir de la versión 3 de Android.
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd290pnt.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 05/07/2023

Señalar un error o enviar una sugerencia | Ayuda local