Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Ancora sulla grafica: Mantenere lo stato di un oggetto Graphics.
venerdì 28 luglio 2006 - 19.24
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
D0X
Profilo
| Newbie
43
messaggi | Data Invio:
ven 28 lug 2006 - 19:24
Ciao!
Volevo porvi una "semplice domanda". E' possibile "mantenere lo stato" per la Graphics di un controllo?
Mi spiego: se si effettuano, ad esempio, un paio di DrawImage su un pannello, ogni volta che viene effettuata una invalidate le due immagini devono essere esplicitamente ridisegnate sul pannello nel metodo OnPaint.
C'è un modo per evitare questo?
Lo stesso dicasi per le "proprietà" settate sul Graphics di un controllo: se io ho un pannello in cui sono disegnati diversi rettangoli, io potrei settare il clip, all'interno del metodo OnPaint, per una regione relativa ad UNO di questi rettangoli tipo:
Rectangle rect = new Rectangle(new Size(100, 100), new Point(0, 0));
Region reg = new Region(rect);
e.Graphics.SetClip(reg);
Quando si verifica una re-paint (invalidate...) l'informazione sul clip viene persa e deve essere ri-settata esplicitamente. Io, invece, vorrei che questa informazione venisse mantenuta e ad ogni re-paint aggiornata!
Cioè, se inizialmente ho settato il clip per il rettangolo X, dopo un invalidate setto il clip per un rettangolo Y ma il clip per X resta e dovrebbe essere ovviamente SCORRELATO dal precedente, cioè 2 regioni di clipping separate....
Speravo di risolvere qualcosa con i GraphicsContainer ma o NON servono a mentenere uno stato del Control Graphics come dico io o li sto usando male....io speravo di creare diversi GraphicsContainer, ognuno con sue proprietà (clip, draw di immagini e poligoni, etc...), e poi poter fare una repaint di tutti i GraphicsContainer costruiti al versificarsi dell'invalidate...ma questo non sembra possibile....non esiste una sorta di e.Graphics.DrawContainer(GraphicsContainer);
Lo so che è difficile capire a parole queste cose, la grafica è una "brutta bestia"...se ci fosse qualche "esperto" di programmazione grafica che potesse darmi una mano gliene sarei molto grato :D
TNX!
ciao!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !