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:
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.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; }![]()


Rispondi quotando