[C#], visualizzare file SVG

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

[C#], visualizzare file SVG

Messaggio da jepessen »

Salve a tutti.

Avrei un problemino con C#, molto semplice in teoria...

Voglio semplicemente creare una finestra, dove deve comparire un disegno in formato svg. Inoltre, devo poterci cliccare sopra con il mouse per trascinarlo...

So che la cosa in realtà è più complicata, ma sto imparando adesso il C#, e l'interfaccia grafica non è proprio la cosa più semplice da poter realzzare...

Daniele
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
Avatar utente
twilight
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3849
Iscrizione: giovedì 17 febbraio 2005, 16:29
Località: L'Aquila
Contatti:

Re: [C#], visualizzare file SVG

Messaggio da twilight »

Cominciamo con una domanda per volta. Questo e' un piccolo programma che mostra una svg

Codice: Seleziona tutto


using Gtk;
using System;

    class SvgHelloWorld
    {
            static void Main(string[] args)
            {
                    Gnome.Program program =
                    new Gnome.Program("SvgViewer", "1.0",
                                  Gnome.Modules.UI, args);

                    MyMainWindow app = new MyMainWindow(program);
                    app.Show();
 
                    program.Run();
            }
    }



    class MyMainWindow
            : Gnome.App
    {
            Gnome.Program program;

            public MyMainWindow(Gnome.Program gnome_program)
                    : base("SVG Hello World", "SVG Hello World")
            {
                    this.program = gnome_program;

                    this.DeleteEvent += delete_event;


                    string svg_file_name = "sample.svg";
                    Gdk.Pixbuf pixbuf = Rsvg.Tool.PixbufFromFile(svg_file_name);

                    Gtk.Image  image = new Gtk.Image();
                    image.Pixbuf = pixbuf;

                    this.Contents = image;
            }

            private void delete_event(object obj, EventArgs args)
            {
                    this.program.Quit();
            }
    }
dove ovviamente devi cambiare "sample.svg" con l'indirizzo del tuo file o farglielo acquisire in altri modo ... dipende dalle esigenze.

Per compilarlo:

Codice: Seleziona tutto

mcs svgviewer.cs -pkg:gnome-sharp-2.0 -pkg:gtk-sharp-2.0 -pkg:rsvg-sharp-2.0
Per la seconda domanda non ho ben capito. Vuoi che cliccando sull'immagine e spostandosi tenendo premuto il mouse si sposti la finestra?

ciao
Avatar utente
jepessen
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3569
Iscrizione: lunedì 26 dicembre 2005, 11:49
Desktop: KDevelop
Distribuzione: Ubuntu 20.04
Sesso: Maschile
Località: Somma Lombardo

Re: [C#], visualizzare file SVG

Messaggio da jepessen »

Intanto grazie per il primo codice... non si deve spostare la finestra, ma il disegno al suo interno... In pratica si deve comportare come un blocco in inkscape.

Sto facendo degli esercizi per fare pratica, per poter poi realizzare un embrione di CAD elettronico, e questi blocchi dovrebbero essere resistenze et similia che dovranno essere posizionati nello schema.

Spero di essere stato più chiaro adesso.

Daniele
Ultima modifica di jepessen il martedì 26 giugno 2007, 15:41, modificato 1 volta in totale.
Compiz l'ha creato Chuck Norris quando ha colpito un computer con un calcio rotante.
http://www.renderosity.com/mod/gallery/ ... e=Jepessen
http://jepessen.wordpress.com/
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti