How to save Graphics-Objekt als Bild in C#?
Habe ich panel und verschiedenen Steuerelementen auf. Ich würde gerne ein Bild von dieser Tafel in einer Datei, wie kann ich dies tun ?
Ineed, etwas zu tun, wie der screenshot, aber ich brauche nur Bild bestimmter Bereich in meiner Anwendung, und ich will dies tun Sie auf eine Schaltfläche, klicken Sie auf in meine app.
Beste Grüße, Primoz
BEARBEITEN:
Ziehe ich auch auf dieses panel mithilfe dieses Codes
Graphics g = chartTemperature.CreateGraphics();
g.DrawLine(p, prevPoint, e.Location);
prevPoint = e.Location;
Ich dann doch nicht bekommen, diese ins Bild. Warum, und wie man dieses Problem beheben ?
EDIT 2:
namespace Grafi
{
public partial class Form1 : Form
{
bool isDrawing = false;
Point prevPoint;
public Form1()
{
InitializeComponent();
}
private void chartTemperature_MouseDown(object sender, MouseEventArgs e)
{
isDrawing = true;
prevPoint = e.Location;
}
private void chartTemperature_MouseMove(object sender, MouseEventArgs e)
{
Pen p = new Pen(Color.Red, 2);
if (isDrawing)
{
Graphics g = chartTemperature.CreateGraphics();
g.DrawLine(p, prevPoint, e.Location);
prevPoint = e.Location;
numOfMouseEvents = 0;
}
p.Dispose();
}
private void chartTemperature_MouseUp(object sender, MouseEventArgs e)
{
isDrawing = false;
}
}
}
Dies ist mein code zum zeichnen einer benutzerdefinierten Linie auf einem Diagramm. Können Sie mir bitte helfen, es zu tun richtige Weg ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie das Steuerelement.DrawToBitmap () - Methode. Zum Beispiel:
In Reaktion auf deinen edit:
Wenn Sie die Zeichnung auf der Tafel mit einem
Graphics
Objekt zurückgegeben von derCreateGraphics
Methode, deine Grafiken sind nicht permanent. Alles, was Sie zeichnen auf, wird das Objekt gelöscht, das nächste mal, dass das Steuerelement neu gezeichnet wird. (Für weitere detaillierte Informationen zu diesem Thema finden Sie unter: http://www.bobpowell.net/picturebox.htm und http://www.bobpowell.net/creategraphics.htm)Wenn Sie die
DrawToBitmap
Methode wie vorgeschlagen durch Hans Passant die Antwort, das panel-Steuerelement wird immer neu gezeichnet, die die Ursache Ihrer Zeichnungen verloren.Stattdessen, wenn Sie möchten, dass Ihre Zeichnungen dauerhaft, müssen Sie behandeln die
Farbe
event von dem panel-Steuerelement. Dieses Ereignis wird jedes mal ausgelöst, wenn Sie, dass das Steuerelement neu gezeichnet werden muss, und liefert eine Instanz vonPaintEventArgs
enthält eineGraphics
Objekt, das Sie zeichnen können dauerhaft auf der Oberfläche des Steuerelements in der gleichen Weise, dass Sie wurden mit derGraphics
Objekt zurückgegeben von derCreateGraphics
Methode.Sobald Sie korrigiert Ihre Zeichnung code, die Sie verwenden können, Hans-Lösung.