在Java中,我们可以这样做:
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
...
public void captureScreen(String fileName) throws Exception {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image, "png", new File(fileName));
}
...
我们如何从 Web 应用程序在 .NET 中执行此操作?从应用程序中捕获客户端的屏幕并将其发送到服务器。
最佳答案
.NET 图形对象有一个名为 CopyFromScreen() 的方法,该方法将捕获屏幕的矩形区域并将其复制到位图。最好的方法类似于以下内容:
public void CaptureImage(Point SourcePoint, Point DestinationPoint, Rectangle Selection, string FilePath)
{
using (Bitmap bitmap = new Bitmap(Selection.Width, Selection.Height)) {
using (Graphics g = Graphics.FromImage(bitmap)) {
g.CopyFromScreen(SourcePoint,DestinationPoint, Selection.Size);
}
bitmap.Save(FilePath, ImageFormat.Bmp);
}
}
关于.net - 如何从 Web 应用程序捕获 .NET 中的屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2916144/