Problem mit Zeichenobjekten in C#



  • hab mal ein wenig mit 2D Grafiken in Visual C++ gebastelt und wollte selbiges mal in C# probieren. So sieht es bisher aus:

    Bitmap stan = new Bitmap("stan.gif");
    Graphics plumbum = this.pb.CreateGraphics();
    plumbum.DrawImage(stan,0,0,stan.Width,stan.Height);
    Font fAr=new Font("Arial",12);
    plumbum.DrawString("Hallo",fAr,System.Drawing.Brushes.DarkBlue,10,10);
    Brush bX = Brushes.DarkSeaGreen;
    plumbum.FillRectangle(bX,0,0,30,30);
    //pb.Image=stan;
    

    Ist blos ein Test daher die geile Namensvergabe. Problem dabei: selbe Umsetzung wie in VC++ aber es wird nichts angezeigt. Hab einige Methoden des neuzeichnens probiert aber kommt nichts.

    this.pb.Invalidate();
    this.pb.Update();
    this.pb.Show();
    plumbum.Flush();
    

    bringen keinen Erfolg.

    pb ist eine PictureBox auf der ich zeichnen möchte, plumbum das Grafikobjekt dazu.
    Wenn ich das ganze nur mit der wegkommentieren Zeile

    pb.Image=stan;
    

    mache, zeigt er das Bild schonmal.

    Muss wohl was mit dem Zeichnen zu tun haben... Ideen?



  • tipp: generiere dein graphics objekt auf der bitmap und zeichne darauf. dann kannst du image auf stan setzen und alles wird angezeigt.



  • Das ist natürlich eine Möglichkeit.
    Es müsste doch aber auch gehen direkt auf die PictureBox zu zeichnen oder?
    Bei VCPP hab ich den Weg über das Grafikobjekt genutzt, wie macht man das normal über c#?



  • Die Frage steht immernoch...


Anmelden zum Antworten