visual studio plano pastel graficos graficas graficador graficación grafica geometricas generar figuras ejemplos dibujar cartesiano c# .net graphics directx 2d

studio - ¿Cómo puedo dibujar gráficos simples en C#?



plano cartesiano en c# (8)

Aquí hay un ejemplo de código simple que te ayudará a comenzar (asume que tienes un PictureBox llamado pictureBox1):

Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height); using (Graphics g = Graphics.FromImage(bmp)) { g.DrawLine(new Pen(Color.Red), 0, 0, 10, 10); } pictureBox1.Image = bmp;

El objeto de gráficos tiene un montón de otros métodos de dibujo, e Intellisense le mostrará cómo llamarlos.

Solo quiero dibujar objetos 2D simples como círculo, línea, cuadrado, etc. en C #. ¿Cómo puedo hacer eso? De vuelta en los días de Turbo C ++, recuerdo haber iniciado algunas bibliotecas gráficas para hacer lo mismo. ¿Necesito hacer algo similar en .NET? ¿Es diferente para los objetos 3D? ¿Cosas como DirectX harán esto más fácil? Cualquier enlace a tutoriales o muestras muy apreciados.


Busque la API de gráficos Managed Direct3D en .NET Source


Como otros han dicho, echa un vistazo a System.Drawing . (Solo lo estoy repitiendo para completar). System.Drawing expone la biblioteca de dibujos de Windows de GDI+ a su aplicación.

Un buen tutorial para comenzar a utilizar System.Drawing y GDI + se puede encontrar en C # Corner .

Algunos elementos importantes a tener en cuenta:

  1. Muchos objetos GDI + implementan la interfaz IDisposable y, por lo tanto, se deben envolver en bloques Asegúrese de seguir las convenciones de eliminación adecuadas; no disponer de objetos GDI + puede resultar en efectos secundarios realmente desagradables para su aplicación. (Los objetos GDI + en .NET corresponden a sus equivalentes subyacentes de la API de Windows.)
  2. APIs como DirectX son extremadamente complejas, y por una buena razón. No están diseñados para formas simples, sino para aplicaciones multimedia complejas, de alto rendimiento y altamente interactivas. (En otras palabras, juegos, normalmente). Puede acceder a DirectX a través de las interfaces Managed DirectX, pero nuevamente, es probable que sea excesivo para sus propósitos directos.
  3. Si está interesado en una forma más fácil de trabajar con DirectX, XNA es el camino a seguir. Sin embargo, esta es en gran medida una biblioteca específica para juegos, y nuevamente es probable que sea una exageración. Llego un poco tarde a la fiesta, pero de acuerdo con los comentarios a continuación, esto ya no es compatible. (Esto tiene sentido; no he escuchado nada al respecto en años).


GDI + utilizando System.Drawing


Lea sobre GDI, GDI +, System.Drawing namespace, por ejemplo aquí .
DirectX no es algo que usarías para dibujar formas simples, sino para hacer cosas complicadas en 3D, además, usar DX Api en C # es un poco más complicado (aunque no tanto)


Mira el espacio de nombres System.Drawing


Necesitas usar GDI +.

La forma de hacerlo depende ligeramente de lo que quieras dibujar. Puede dibujar en un control o un formulario, o puede dibujar en un objeto de imagen. De cualquier manera, necesita un objeto System.Drawing.Graphics que creo que se encuentra en System.Drawing.dll.

Puede crear una instancia de una nueva clase de mapa de bits y llamar Graphics.FromImage (myImage), y luego dibujar utilizando los métodos en el objeto Graphics que acaba de crear. Si desea dibujar en un formulario o control, simplemente anule el método OnPaint y busque la propiedad Graphics en la clase EventArgs.

Más información sobre System.Drawing namespace aquí: http://msdn.microsoft.com/en-us/library/system.drawing.aspx