在RFT中如何擷取螢幕影像並儲存到檔案中?
在RFT中,如何擷取螢幕影像並儲存到檔案中?下面的指令碼實現了3種型別的影像擷取,包括擷取整個螢幕的影像、擷取指定區域的影像、擷取某個測試物件的影像:
public void testMain(Object[] args)
{
// TODO 在此插入程式碼
captureScreen("C://temp1.jpg");
captureScreen("C://temp2.jpg",100,100,100,100);
startApp("calc");
計算器window().waitForExistence();
計算器window().activate();
captureScreen("C://temp3.jpg",(TestObject)計算器window());
}
擷取整個螢幕的影像:
public static void captureScreen(String filename)
{
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int width = screenSize.width;
int height = screenSize.height;
doScreenCapture(filename, 0, 0, width, height);
}
擷取指定的區域影像:
public static void captureScreen(String filename, int x, int y, int width, int height)
{
doScreenCapture (filename, x, y, width, height);
}
擷取指定測試物件的影像:
public static void captureScreen(String filename, TestObject to)
{
Rectangle r = null;
//html
if (to.getProperties().containsKey(".bounds"))
r = (Rectangle)to.getProperty(".bounds");
//win
else if (to.getProperties().containsKey(".screenRectangle"))
r = (Rectangle)to.getProperty(".screenRectangle");
//swing
else if (to.getProperties().containsKey("bounds"))
{
r = (Rectangle)to.getProperty("bounds");
java.awt.Point point = null;
if (to.getProperties().containsKey("location")) //swt
point = (Point)to.getProperty("location");
else
point = (Point)to.getProperty("locationOnScreen");
if (point != null)
r.setLocation(point);
}
else
{
System.out.println("Error in captureScreen: could not capture test object");
return;
}
doScreenCapture(filename, r.x, r.y, r.width, r.height);
}
protected static void doScreenCapture (String filename, int x, int y, int width, int height)
{
try {
BufferedImage capture = null;
Rectangle area = new Rectangle(x, y, width, height);
Robot robot = new Robot();
capture = robot.createScreenCapture(area);
FileOutputStream out =
new FileOutputStream(filename);
JPEGImageEncoder encoder =
JPEGCodec.createJPEGEncoder(out);
encoder.encode(capture);
out.flush();
out.close();
}
catch (Exception e) {
System.out.println("Error in BitmapOps#doScreen: error capturing image: " + e);
}
}
}
相關文章
- LIUNUX如何擷取txt檔案中的內容,並建立新檔案UX
- secureCRT螢幕日誌儲存到指定檔案的配置方法Securecrt
- ImageView中圖片儲存到檔案View
- 在RFT中如何獲取JTable中的所有資料?
- 如何在RFT中比較兩個影像檔案?
- QT擷取螢幕的實現QT
- javascript如何將檔案儲存到本地JavaScript
- 螢幕擷取程式Ashampoo SnapYa! v1.53
- Java讀取本地檔案,並顯示在JSP檔案中JavaJS
- 請教java中如何獲取螢幕解析度Java
- Android三種方式擷取任意介面螢幕Android
- 小程式獲取當前元素在螢幕中的位置
- oracle 儲存過程中螢幕列印Oracle儲存過程
- express,koa2等node處理前端上傳圖片並儲存到檔案中Express前端
- android 6.0 logcat機制(二)logcat從logd中獲取log儲存到檔案中AndroidGC
- 蘋果Mac如何將螢幕截圖儲存到桌面以外的特定資料夾?蘋果Mac
- 設定grub配置檔案中的螢幕解析度
- python抓取網頁中圖片並儲存到本地Python網頁
- 遍歷當前目錄下的所有HTML檔案,並且顯示到螢幕中HTML
- 在鎖定Mac螢幕後並保持檔案安全的6個小技巧Mac
- rust 截圖儲存到檔案Rust
- 螢幕影像渲染原理
- 說說在 Python 中,如何讀取檔案中的資料Python
- 批量擷取pdf檔案
- Java 從指定URL下載檔案並儲存到指定目錄Java
- 為什麼iOS本機系統共享本機備份功能並將其儲存到“檔案”中?iOS
- golang讀取檔案的json資料流,並解析到struct,儲存到資料庫GolangJSONStruct資料庫
- 用python寫一個指令碼,讀取srt檔案中的內容,並列印出重複的內容,且將不重複的內容儲存到新檔案中Python指令碼
- 如何使用 gnome-screenshot 截圖命令來擷取螢幕、視窗或指定區
- 在RFT中新增檔案檢查點
- js獲取滑鼠指標在顯示器螢幕中的座標JS指標
- 在RFT中如何通過指令碼獲取已新增到某個指令碼中的測試物件?指令碼物件
- 在Progress中獲取檔案屬性
- gin框架,讀取檔案的json資料流,並解析到struct,儲存到資料庫框架JSONStruct資料庫
- Flutter 中獲取螢幕以及 Widget 的寬高Flutter
- Python獲取當前目錄下所有檔案的絕對路徑並儲存在檔案中Python
- 文摘:在EJB中讀取XML配置檔案XML
- 如何用Chrome自帶的截圖功能擷取超過一個螢幕的網頁Chrome網頁