GDI+, mantener el estado del graphics???

06/04/2005 - 15:51 por darual | Informe spam
Pues resulta que estoy usando GDI+, para generar una serie de gráficos. Pero
me interesa poder grabar un estado actual del graphics, realizar diversas
modificaciones y volver a restaurar el estado anterior.
Pero no me funciona bien, yo estoy utilizando lo siguiente:

Public Sub SaveRestoreMio(ByVal e As PaintEventArgs)
Dim Pen As New Pen(Color.Red)
e.Graphics.DrawRectangle(Pen, 10, 10, 100, 100)

Dim estadoGraphics As Drawing2D.GraphicsState = e.Graphics.Save()

MsgBox("grabado estado")

e.Graphics.Clear(Me.BackColor)
e.Graphics.DrawRectangle(Pen, 110, 10, 100, 100)

If MsgBox("Recuparar estado?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes
Then
e.Graphics.Restore(estadoGraphics)
End If
e.Graphics.DrawRectangle(Pen, 10, 100, 100, 100)

End Sub

No se lo que pasa pero no hace lo que yo quiero, a que se puede deber, estoy
haciendo algo mal??

ayuda please.
 

Leer las respuestas

#1 A.Poblacion
06/04/2005 - 16:04 | Informe spam
El Graphics.Save solo salva el estado, pero no el contenido de los gráficos.
Por ejemplo, si has aplicado un Transform para cambiar de coordenadas y
haces un Save, luego cambias el Transform y dibujas algo, y luego haces un
Restore, recuperas el sistema de coordenadas originales, pero el dibujo
sigue conteniendo lo que hayas pintado mientras las coordenadas estaban
cambiadas.

Te sugiero que salves a un Bitmap el contenido del gráfico, y cuando lo
quieras restaurar le vuelvas a "pegar" el bitmap salvado.


"darual" wrote in message
news:
Mostrar la cita
Pero
Mostrar la cita
estoy
Mostrar la cita

Preguntas similares