Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso
Titan Army P2712V è un monitor da 27 pollici che unisce due anime in un unico prodotto: da un lato la qualità visiva del 4K UHD a 160 Hz, dall'altro la velocità estrema del Full HD a 320 Hz. Con pannello Fast IPS, HDR400, Adaptive-Sync, illuminazione RGB e regolazioni ergonomiche, punta a soddisfare sia i giocatori competitivi che i content creator
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-09-2009, 15:16   #1
fdfdfdddd
 
Messaggi: n/a
[C#] Oggetti grafici "vettoriali".

Salve a tutti,

con il vecchio VB era facile mettere un rettangolo su una form e "muoverlo".

Con .Net invece una volta disegnato un rettangolo, tramite un DrawRectangle ad esempio, rimane "la".

C'è nel framework (o magari in qualche SDK di "mamma" Microsoft) un qualche modo per gestire oggetti grafici "vettoriali"?

Un saluto e grazie 1000 anticipatamente a tutti!
  Rispondi citando il messaggio o parte di esso
Old 23-09-2009, 15:26   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Ciao,
non vorrei dire frescacce perchè non so niente dell'ambiente .NET ma dopo rapidissima consultazione su msdn mi par di capire che DrawRectangle non sia un oggetto bensì un metodo invocato sul Graphics, nello specifico un metodo per disegnare forme rettangolari.

Cioè tu dici al Graphics se per piacere ti può disegnare una forma rettangolare, e come parametro del metodo passi l'oggetto che rappresenta la forma (versione che accetta un Rectangle) oppure 4 interi (topX, topY, width, height) per specificare il rettangolo.

In pratica tu avrai che la parte soggetta a variazione è il Rectangle che gli dai in pasto, e quello dovresti poterlo modificare se Rectangle nel .NET è una classe mutabile, altrimenti se è immutabile ad ogni 'spostamento' del Rectangle ne devi creare al volo uno nuovo con le nuove coordinate xTop, yTop che saranno date dalle 'vecchie' coordinate più lo spostamento desiderato (deltaX, deltaY).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2009, 16:07   #3
fdfdfdddd
 
Messaggi: n/a
Ciao,

esatto è un metodo e non un oggetto (scusami per la forma sgrammaticata del primo post).

Quello che mi piacerebbe sapere è se c'è nel framework un qualche modo per "aggiungere" ad un contesto grafico delle forme e trattarle come "oggetti" e non come "tracce".

In pratica dovrebbe esserci un "layer" in cui posso aggiungere (tramite un ipotetico metodo "add") varie forme a mo' di oggetti e un modo per tirarli fuori (come gl'elementi di una lista o una cosa del genere insomma).. :-)

Un saluto e grazie

gennaro
  Rispondi citando il messaggio o parte di esso
Old 23-09-2009, 17:35   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da gtangari Guarda i messaggi
In pratica dovrebbe esserci un "layer" in cui posso aggiungere (tramite un ipotetico metodo "add") varie forme a mo' di oggetti e un modo per tirarli fuori (come gl'elementi di una lista o una cosa del genere insomma).. :-)
Penso non esista niente del genere.
Forse eri abituato a un diverso "modello" di rendering, devi solo rieducarti ad usare quello previsto dall'astrazione fornita dall'ambiente .NET.

Essendo Graphics una classe che mi pare molto simile concettualmente all'omonima lato java (java.awt.Graphics) propendo fortemente per ipotizzare che in linea di massima il modello di rendering delle due astrazioni sia, dal punto di vista delle API, più o meno lo stesso.

Ma attendi che passi di qua un nettiano per la conferma definitiva
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-09-2009, 22:53   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Con WPF lo puoi fare abbastanza agevolmente.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 26-09-2009, 14:34   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da gtangari Guarda i messaggi
Salve a tutti,

con il vecchio VB era facile mettere un rettangolo su una form e "muoverlo".

Con .Net invece una volta disegnato un rettangolo, tramite un DrawRectangle ad esempio, rimane "la".

C'è nel framework (o magari in qualche SDK di "mamma" Microsoft) un qualche modo per gestire oggetti grafici "vettoriali"?
Perchè il buon vecchio VB aveva le Shapes !
Eeeeh, anch'io ci ero rimasto male vedendo che in .NET non c'erano più...

Direi proprio che si può fare, certo, rendendo un po' "elastico" il concetto di "Forma Vettoriale". Spostare con il mouse un disegno GDI+ non è possibile, detto così. Ma nessuno ti vieta di creare una tua classe, implementando ad esempio uno UserControl, su cui puoi disegnare una "traccia", ossia un contorno della tua Shape. Il contorno ha il duplice scopo di disegnare la Shape sul controllo e inoltre di tagliare ( Clip ) le regioni esterne...

Io l'ho risolto così ( Esempio Forma = Cerchio ) :

Codice:
    public partial class Cerchio : UserControl
    {
        public Cerchio()
        {
            InitializeComponent();
        }

        private bool selezione = false;
        private int eXSel = 0;
        private int eYSel = 0;

        private void Cerchio_MouseDown(object sender, MouseEventArgs e)
        {
            selezione = true;
            eXSel = e.X;
            eYSel = e.Y;
        }

        private void Cerchio_MouseUp(object sender, MouseEventArgs e)
        {
            selezione = false;
        }

        private void Cerchio_MouseMove(object sender, MouseEventArgs e)
        {
            if (selezione == true) 
            {
                int incrEX = eXSel - e.X;
                int incrYX = eYSel - e.Y;
                this.Left -= incrEX;
                this.Top -= incrYX;
            }
        }

        private void Cerchio_Paint(object sender, PaintEventArgs e)
        {
            //Creo l'oggetto Graphics dal controllo che voglio disegnare
            Graphics G = this.CreateGraphics();

            //Definisco un nuovo GraphicsPath
            System.Drawing.Drawing2D.GraphicsPath contorno = new System.Drawing.Drawing2D.GraphicsPath();

            //Proprietà grafiche
            Color coloreLinea = Color.Gold;
            int spessoreLinea = 10;
            Color coloreSfondo = Color.LightYellow;
            this.BackColor = coloreSfondo;
            int raggioX = this.Width/2;
            int raggioY = this.Height/2;

            //Disegno GraphicsPath
            contorno.StartFigure();
            contorno.AddEllipse(0, 0, this.Width, this.Height);
            contorno.CloseFigure();

            //Disegno e Clip Forma
            Pen penna = new Pen(coloreLinea, spessoreLinea);
            G.SetClip(contorno, System.Drawing.Drawing2D.CombineMode.Union);
            G.DrawPath(penna, contorno);
            Region R = new Region(new Rectangle(0, 0, this.Width, this.Height));
            R.Intersect(contorno);
            this.Region = R;
        }
    }
Aggiungo il Cerchio alla Form :

Codice:
            Cerchio C = new Cerchio();
            this.Controls.Add(C);
            C.Top = 50;
            C.Left = 50;
Ora ho la mia Shape, e con il mouse me la porto dove voglio !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla OPPO Watch X2 Mini, lo smartwatch compatto a cui...
New York porta in tribunale TikTok, Meta...
L'intelligenza artificiale canceller&agr...
Battlefield 6: analisi grafica e DLSS
Gauss Fusion presenta GIGA: l'Europa acc...
Lo sapete che anche le auto elettriche d...
Oltre un miliardo di dati sensibili sott...
iPhone 17, segni sui modelli in esposizi...
Sviluppatore Microsoft confessa: la cele...
Sfrutta l'IA per migliorare a lavoro, l'...
iPhone 18 Fold: un leak indica i materia...
Instagram testa nuove opzioni per contro...
Elon Musk raggiunge un accordo con l'ex ...
Meta Quest 3S da 256 GB in offerta su Am...
L'energia solare è la più ...
I furgoni elettrici sono già pi&u...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v