Hallo zusammen! Ich weiß normalerweise macht man das andersrum man legt ein bmp auf einen Button oder ähnliches aber mein Problem ist etwas bizarrer. Ich möchte ein Image oder Bitmap von einem Steuerelement erstellen unabhängig davon, ob es auf einem Formular angezeigt wird oder nicht. Gibt es die Möglichkeit das Steuerelement nicht auf einem Formular zu materialisieren sondern auf einem Grafikobjekt o.ä. um dann ein Bitmap daraus zu machen?
Hintergrund ist, ich muß für meine Diplomarbeit eine Groupbox entwickeln, die sich stufenlos (morphing) in eine andere verwandelt. Die Idee dahinter ist von der Ausgangsgroupbox ein Bitmat zu erstellen, die Groupbox auszublenden und stattdessen das Bitmap darzustellen. dann über den Morphingalgorithmus das Bitmap in das Pitmap der Zielgroupbox umwandeln und anschließend das Bitmap ausblenden und die Zielgroupbox einblenden. Das Problem ist, dass ich das Bitmap der Zielgroupbox haben muss bevor diese eingeblendet werden soll. Da das dynamisch mit beliebigen Groupboxen gehen soll kann ich leider auch nicht einfach Bilder von den Steuerelementen abspeichern und verwenden (außerdem wäre das ja langweilig 😉
Kann mir irgendwer helfen? Ich bin gerade an einem Punkt an dem ich nicht weiterkomme.
Viele Grüße,
Tobias
Hallo tobig,
die ControlPaint-Klasse könnte dir helfen.
herbivore
Unter .NET 2.0 wurde die Methode DrawToBitmap zur Klasse Control hinzugefügt, vielleicht hhilft Dir das weiter.
Super, vielen Dank. Mit der DrawToBitmap Methode funktioniert´s!
ich habe folgendes problem ... keine Ahnung wieso!
Fehlermeldung:
'System.Windows.Forms.TextBox' enthält keine Definition für 'DrawToBitmap'
Mein Code sah vorher wie folgt aus:
Bitmap b = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(b, e.PageBounds);
e.Graphics.DrawImage(b, new Point(15, 50));
dann habe ich foglendes im Forum gefunden:
Bitmap b=new Bitmap(this.textBox1.Width,this.textBox1.Height);
this.textBox1.DrawToBitmap(b, e.PageBounds);
e.Graphics.DrawImage(b, new Point(40, 40));
kann mir bitte jemand sagen, woran das liegen könnte bzw. fehlt mir eine Klasse?
mfg
Buck
ich glaube ich habe das problem! hab Microsoft .NET Framework 1.1 installiert!!!
kann mir jemand einen anhaltepunkt geben, wie ich das nun lösen könnte!
mfg
Buck
Unter Formular (WinForm) drucken oder als Bitmap speichern habe ich eine Lösung bereitgestellt, die für jedes Control genutzt werden kann. Sie ist zwar für NET 2.0 erstellt; ich habe aber auch eine Anpassung für NET 1.1 erläutert.
Gruß Jürgen