ho realizzato questa funzione per fare uno screenshot di una parte dello schermo
codice:
private void Screenshot(string percorso, string nomeFile, int x1, int y1, int x2, int y2)
{
Rectangle rect = new Rectangle(x1, y1, x2 - x1, y2 - y1);
Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);
if (File.Exists(percorso + "/" + nomeFile + ".jpg")) File.Delete(percorso + "/" + nomeFile + ".jpg");
while (true)
{
if (!File.Exists(percorso + "/" + nomeFile + ".jpg"))
{
bmp.Save(percorso + "/" + nomeFile + ".jpg");
break;
}
}
while (true)
{
if (File.Exists(percorso + "/" + nomeFile + ".jpg")) break;
}
bmp.Dispose();
}
il problema e che vorrei aumentare la risoluzione di queste immagini come se avessi fatto lo screenshot di quel punto dello schermo avendo zoomato, perciò una buona qualità dell'immagine non sgranata nel caso i screen sono di piccole parti dello schermo...
grazie a tutti