Java png屏幕截图周围的黑色边框
下面是我为拍摄活动窗口的屏幕截图而编写的代码。但是,我不确定为什么图像周围有黑色边框。如果我的代码有任何错误,请帮助并告诉我Java png屏幕截图周围的黑色边框,java,selenium,screenshot,Java,Selenium,Screenshot,下面是我为拍摄活动窗口的屏幕截图而编写的代码。但是,我不确定为什么图像周围有黑色边框。如果我的代码有任何错误,请帮助并告诉我 Robot robot; //create robot instance robot = new Robot(); //gets and saves a reference to a new Robot robot.delay(3000); //delay robot for 3 seconds //get dimension
Robot robot; //create robot instance
robot = new Robot(); //gets and saves a reference to a new Robot
robot.delay(3000); //delay robot for 3 seconds
//get dimensions of the bounding rectangle of the specified window
WinDef.HWND hwnd = User32.INSTANCE.GetForegroundWindow();
RECT WindowDimensions = new RECT();
//get screen coordinates of upper-left and lower-right corners of the window in dimensionsOfWindow
User32.INSTANCE.GetWindowRect(hwnd, WindowDimensions);
//capture image of only active window
BufferedImage screenFullImage = robot.createScreenCapture(WindowDimensions.toRectangle());
//write buffered image to file
try{
//File f = new File(dir + "\\screenshot " + createTimeStampStr() + ".png"); //file path of output
File f = new File("D:\\screenshot " + createTimeStampStr() + ".png"); //file path of output
ImageIO.write(screenFullImage, "png", f);
}catch(IOException e){
System.out.println("Error: " + e);
}
我认为这是机器人框架,特别是这部分BuffereImage screenFullImage=Robot.createScreenCapture(WindowDimensions.toRectangle());相反,用Selenium截图itself@SlavKurochkin我曾尝试使用selenium本身拍摄屏幕截图,但我只想拍摄窗口本身,而不是整个网页(如果该网页位于facebook上)。只是一个观察。看起来黑色边框位于图像周围,而不是图像顶部。如果API中有裁剪函数,您可能只需裁剪N个像素,屏幕截图没有黑色边框。您是否尝试过使用
driver.manage().window().getSize()
获取Dimension()
对象。检查@dale裁剪功能只能根据窗口大小工作,因此如果我使用另一台具有不同窗口大小的计算机,该功能将无法按预期工作。我认为这是Robot framework,特别是这部分BuffereImage screenFullImage=Robot.CreateScreateScreenCapture(WindowDimensions.toRectangle());相反,用Selenium截图itself@SlavKurochkin我曾尝试使用selenium本身拍摄屏幕截图,但我只想拍摄窗口本身,而不是整个网页(如果该网页位于facebook上)。只是一个观察。看起来黑色边框位于图像周围,而不是图像顶部。如果API中有裁剪函数,您可能只需裁剪N个像素,屏幕截图没有黑色边框。您是否尝试过使用driver.manage().window().getSize()
获取Dimension()
对象。检查@dale裁剪功能只能根据窗口大小工作,因此如果我使用另一台具有不同窗口大小的计算机,该功能将无法按预期工作。