第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Java 在 Windows 中獲取前臺(tái)應(yīng)用程序屏幕截圖,沒(méi)有額外的邊緣

使用 Java 在 Windows 中獲取前臺(tái)應(yīng)用程序屏幕截圖,沒(méi)有額外的邊緣

躍然一笑 2022-10-07 17:34:09
我可以使用下面的代碼截取前景圖像void startScreencapture(){    RECT dimensionsOfWindow = new RECT();    User32.INSTANCE.GetWindowRect(User32.INSTANCE.GetForegroundWindow(), dimensionsOfWindow );//now in the dimensionsOfWindow you have the dimensions    Robot robot = new Robot();    buf = robot.createScreenCapture( dimensionsOfWindow.toRectangle() );}public interface User32 extends StdCallLibrary {    User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);    HWND GetForegroundWindow();  // add this    int GetWindowTextA(PointerType hWnd, byte[] lpString, int nMaxCount);    public boolean GetWindowRect(HWND hWnd, RECT rect);}我得到如下前景截圖如果您注意到,屏幕截圖在窗口的邊界處有一些額外的圖像。我不希望我的屏幕截圖中有額外的圖像部分。是否有可能以某種方式操縱User32.INSTANCE.GetForegroundWindow()這樣我就可以得到?jīng)]有額外部分的屏幕截圖?我覺(jué)得這個(gè)鏈接中的答案應(yīng)該有效。WinApi中的GetClientRect和GetWindowRect有什么區(qū)別?
查看完整描述

1 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

獲取客戶端矩形

客戶坐標(biāo)指定客戶區(qū)的左上角和右下角。因?yàn)榭蛻糇鴺?biāo)是相對(duì)于窗口客戶區(qū)的左上角的,所以左上角的坐標(biāo)是(0,0)。

這是一個(gè)相對(duì)坐標(biāo)系。

您還應(yīng)該調(diào)用ClientToScreen將客戶端坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo)。

注意ClientToScreen只接收POINT(不是a RECT)的參數(shù),你可以在這里POINT找到類。

編輯:

GetWindowRect將獲得“額外”尺寸。但是,GetClientRect完全不包括它(以及其他額外信息,如標(biāo)題欄、窗口邊框等)。


查看完整回答
反對(duì) 回復(fù) 2022-10-07
  • 1 回答
  • 0 關(guān)注
  • 425 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)