Mam panel i różne elementy sterujące. Chciałbym zapisać obraz tego panelu w pliku, jak mogę to zrobić?Jak zapisać obiekt graficzny jako obraz w języku C#?
Chciałbym zrobić zrzut ekranu, ale potrzebuję tylko obrazu z niektórych paneli w mojej aplikacji i chcę to zrobić za pomocą kliknięcia przycisku w mojej aplikacji.
poważaniem Primož
EDIT: ja też rysować na tym panelu przy użyciu tego kodu
Graphics g = chartTemperature.CreateGraphics();
g.DrawLine(p, prevPoint, e.Location);
prevPoint = e.Location;
Ale wtedy nie dostaniesz to na obrazie. Dlaczego i jak to naprawić?
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;
}
}
}
To jest mój kod rysunek narysować linię na wykresie niestandardowe. Czy możesz mi pomóc, aby zrobić to w odpowiedni sposób?
+1 świetnie, rozwiązałeś również mój problem. –
To nie działa całkowicie dla mnie. Dodałem problemy, które mam do mojego pierwotnego pytania. – Primoz
Nie powinieneś rysować w ten sposób. Spróbuj na przykład zminimalizować, a następnie przywrócić okno. Linia zniknęła. To samo stanie się, gdy przeniesiesz kolejne okno na XP. Zamiast tego użyj zdarzenia Paint sterowania. –