Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Come sovrascrivere un grafico in VB EXPRESS 2010
Forum - C# / VB.NET - Come sovrascrivere un grafico in VB EXPRESS 2010

Avatar
Earl (Normal User)
Newbie


Messaggi: 2
Iscritto: 07/05/2012

Segnala al moderatore
Postato alle 18:25
Lunedì, 07/05/2012
Ciao a tutti: qualcuno può aiutarmi? Sto traducendo un vecchio mio programma da VB6 a VB EXPRESS e ho difficoltà nel plottare i punti (tra i vari Draw non trovo un Drawpoint né la possibilità di colorare un punto) e perciò mi arrangio col DrawCurve. Poi non riesco a sovrascrivere ciò che ho disegnato: ogni nuova curva sostituisce sempre la precedente. Allego una porzione del codice (se necessario allegherò anche il resto):
<code>
    Public Sub setCurva()
        Dim Img As New Bitmap(Funz.PictureBox1.Width, Funz.PictureBox1.Height)
        Dim G As Graphics = Graphics.FromImage(Img)
        G.CompositingMode = Drawing2D.CompositingMode.SourceOver
        'Dovrebbe impostare la modalità che scrive senza cancellare l'immagine sottostante ma non funziona
        DisegnaGriglia(G)
        DisegnaCurva(G)
        G.Flush()
        Funz.PictureBox1.Image = Img

    End Sub
</code>
La sub SetCurva viene chiamata dalla parte del programma che definisce la funzione (ad es. sin(x)); crea l'oggetto Graphics G basato su una pictureBox del Form Funz. Poi chiama DisegnaGriglia e DisegnaCurva che funzionano perfettamente e disegnano il grafico con la griglia degli assi. Però, nonostante l'impostazione di CompositingMode su SourceOver, il grafico precedente viene sempre sovrascritto. Qualcuno sa dirmi dove sbaglio? Grazie!

PM Quote