Formularios con forma en VB .NET

Aplicar regiones a un formulario usando objetos GraphicsPath.AddLine y GraphicsPath.AddEllipse para recortar el área del formulario y cambiar la forma de la ventana, en Visual Studio 2017 con VB

Utilizando objetos de la clase GraphicsPath y aplicando regiones de recorte es sencillo modificar la forma de la ventana de un formulario. Podemos darle prácticamente cualquier aspecto pero, por sencillez del código, en este ejercicio nos restringiremos a 3 formas, círculo, rombo y polígono, usando regiones de recorte con el aspecto deseado.

GraphicsPath del espacio de nombres System.Drawing.Drawing2D representa una serie de líneas y curvas conectadas. La base del ejercicio es:

  • ventana redondeada: en el evento Paint de un PictureBox o del formulario se dibuja sobre GraphicsPath una región de recorte de forma circular con el método AddEllipse y se convierte en la región visible del formulario
  • ventana romboidal y poligonal: en el evento Load del formulario se van añadiendo líneas definidas por su punto x.y de inicio y de final con coordenadas absolutas calculadas respecto a la ventana visible del formulario. Cada segmento de línea se añade con GraphicsPath.AddLine(Int32, Int32, Int32, Int32) a la figura actual.
Continuar leyendo “Formularios con forma en VB .NET”

PictureBox redondo en VB .NET

PictureBox sobre el que se dibuja una región de recorte de forma circular con el método GraphicsPath.AddEllipse para obtener una imagen redonda, en VB .NET

Tienes una versión más compleja de este ejercicio aquí.

Clase GraphicsPath

La clase GraphicsPath del espacio de nombres System.Drawing.Drawing2D tiene objetos que representan figuras (líneas y curvas conectadas). Las aplicaciones usan estas secuencias de datos con líneas y curvas (path) para dibujar los bordes o rellenar el interior de las figuras y crear zonas de recorte. El motor gráfico mantiene las coordenadas de las figuras geométricas en objetos path que pueden estar formados a su vez por otras figuras (subpath).

Continuar leyendo “PictureBox redondo en VB .NET”