Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #1
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308

    [C#] re-draw continuo di pictureBox

    Sono di nuovo qui con un problema "babbo" ma la cosa strana è che faccio cose incredibili in Xna e mi perdo per babbarie in C#. Ma come è possibile? No non è questa la domanda...

    Ero abituato in VB5 a tracciare pixel su una picturebox e vederli tracciare uno per uno, oppure - sempre se volevo - potevo far apparire la picturebox solo alla fine del tracciato e vederlo completo, applicando il famoso "AutoRedraw" a picturebox.

    Col C.... C# riesco a far questo solo nel passaggio dalla grafica vettoriale alla grafica raster, mentre all'interno del ciclo della grafica raster non funziona. Ecco il codice:

    codice:
    //creo una bitmap "vuota" che ha solo delle misure
    
    bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
    
    //associo una grafica alla bitmap appena creata
    
    Graphics gra = Graphics.FromImage(bit);
    
    //per riempire le forme
    
    SolidBrush bru = new SolidBrush(Color.Blue);
    
    //disegno un cerchio pieno di centro P0,Q0 e raggio ra con il brush e l'unità U
    
    FillCircle(gra, P0, Q0, R, bru, U);
    
    //aggiorno la pictureBox con la nuova bitmap
    
    pictureBox1.Image = bit;
    
    //ora traccio i pixel
    
    for (int i = 0; i < t; i++)
    {
       //...
       //(calcolo le coordinate del pixel P e Q)
                   
       if (P > 0 & P < pictureBox1.Width & Q > 0 & Q < pictureBox1.Height)
          bit.SetPixel(P, Q, Color.DarkRed);
       //aggiorno di nuovo la pictureBox ad ogni pixel tracciato
       pictureBox1.Image = bit;
    }
    Io vorrei vedere il cerchio e dopo - uno ad uno - vorrei vedere ogni pixel che si aggiunge nel tracciato, infatti faccio aggiornare la picturebox all'interno del ciclo. E invece vedo il cerchio e tutto il tracciato completo "di botto". M-ma p-perc-chè? Comincio a balbettare.
    Ultima modifica di escocat; 19-11-2013 a 00:09

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.