Newsgroup: it.comp.programmare
Titolo: .NET

Qualcuno sa se per caso esistono librerie grafiche per disegnare grafi
in .NET? O perlomeno forme tipo cerchi e linee?

 in .NET? O perlomeno forme tipo cerchi e linee?
Non so se esiste una libreria gia predisposta per il disegno di grafici, 
per quanto riguarda linee e cerchi puoi tranquillamente ricorrere a GDI+ 
(assembly system.drawing.dll), ti faccio un esempio in managed C++
#include "stdafx.h"
#using <mscorlib.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
int main(void)
{
   Form *p_Form = new Form(); // istanza della finestra
   Graphics *p_Graph = new p_Form->CreateGraphics();
   // superfice disegnabile
   Pen *p_Pen(Color::Green); //penna verda
   p_Form->Show(); // mostra la finestra
   p_Graph->DrawLine(p_Pen,10,10,120,150);
   // drawline (penna, x,y,x1,y1) disegna linea
   // hai anche DrawEllipse, DrawString, FillRectangle, ecc...
   // guarda la documentazione di gdi+
   p_Graph->Dispose(); // per liberare la risorsa
   Application::Run(p_Form); // event loop
}
hola cico.

Michelangelo Giacomelli ha scritto:

mi sono scordato, se ti servono funzionalità grafiche un minimo più 
performante e/o portabili, puoi dare un'occhiata anche 
SDL.NET
 che 
compila e funziona correttamente sia con .NET di Microsoft (TM) che con 
mono di Novell.
Nel frattempo mi sono ricordato di aver letto su csharphelp qualche mese 
fa di un piccolo esempio realizzato in C# che creava un grafico a barre 
partendo da un database access (sempre utilizzando GDI+), visto che oggi 
mi sento buono (ma tanto in paradiso ormai non ci vado più) ti ho pure 
recuperato il link:
http://www.csharphelp.com/archives/archive254.html
ciao

...
Grazie per la tua risposta!
Però da quanto ho capito GDI+ permette a me di disegnare, mentre io
avrei bisogno di qualcosa che permetta all'utente dell'applicazione di
disegnare forme, anche molto semplici. Sai se, e in che modo, è
possibile implementare ciò?


praticamente vuoi un semplice paint, non è cosa da spiegare in due righe 
comunque devi intercettare gli eventi del mouse tipo pressione e o 
rilascio, e disegnare la tua figura con il diametro o dimesione x (dove 
x è lo spostamento del mouse o lo ricavi dall'oggetto mouse event, ti 
faccio un piccolo esempio di un forms sul quale puoi disegnare cerchi 
premendo e rilasciando il bottone del mouse:
l'esempio è in C#:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class Painter : System.Windows.Forms.Form
{
   bool shouldPaint = false; // usata per testare lo stato disegnabile
   static void Main()
   {
     Application.Run( new Painter() );
   }
   private void Painter_MouseDown(object sender,
                System.Windows.Forms.MouseEventArgs e)
   {
     shouldPaint = true; // se premi il bottone disegna
   }
   private void Painter_MouseUp(object sender,
                System.Windows.Forms.MouseEventArgs e )
   {
     shouldPaint = false; // rilasci il bottone
   }
   protected void Painter_MouseMove(
             object sender, System.Windows.Forms.MouseEventArgs e )
   {
     if ( shouldPaint )
     {
       Graphics graphics = CreateGraphics();
       graphics.FillEllipse(
                new SolidBrush( Color.BlueViolet ),
                e.X, e.Y, 4, 4 ); //disegna
     }
   }
}
non sarà all 100% quello che ti serve ma puoi partire da questo.
ciao

Grazie mille, mi hai dato la dritta giusta! Scusa se abuso di nuovo
della tua disponbilità, ma ora sono riuscito a creare una winform in
c# che fa quel che mi serve, e dovrei portarla su una pagina 
asp.net
.
Sapresti dirmi come fare?
Ciao