Also ich verstehe dein Problem nicht.
Ich habe gerade ein PictureBox "mainPB" gemacht. Über diese habe ich eine transparente PicutreBox "transparentPB" gelegt und ihre BackColor-Eigenschaft auf Transparenz sowie Parent = mainPB gelegt.
C#-Quelltext
1: 2:
| transparentePB.BackColor = Color.Transparent; transparentePB.Parent = mainPB; |
Der transparenten PictureBox weiße ich ein Bild mit einem Kreis zu:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| Image i = new Bitmap(this.transparentePB.Width, this.transparentePB.Height);
Graphics g = Graphics.FromImage(i);
g.DrawPie(new Pen(Color.Red), new Rectangle(0,0, this.transparentePB.Width - 5, this.transparentePB.Height - 5), 0,360);
this.transparentePB.Image = i; |
In einem Timer lasse ich ein Image auf die mainPB zeichnen
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| Random r = new Random();
private delegate void DrawImageDelegate(Color c);
void t_Tick(object sender, EventArgs e) { this.BeginInvoke( new DrawImageDelegate(DrawImage), Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255))); }
private void DrawImage(Color c) { Image i = new Bitmap(this.mainPB.Width, this.mainPB.Height);
Graphics g = Graphics.FromImage(i);
g.FillRectangle(new SolidBrush(c), new Rectangle(0,0, i.Width, i.Height));
this.mainPB.Image = i; this.mainPB.Refresh(); } |
Macht das was ich will ... ein Kreis ist immer über der bestimmten Position, während sich der "Hintergrund" verändert... So wie ich es im anderne Thread vermutet habe. Ist das nicht das was du willst?
Gruß Daniel