@@ -13,12 +13,14 @@ export default function Screenshot() {
13
13
const [ mouseDownY , setMouseDownY ] = useState ( 0 ) ;
14
14
const [ mouseMoveX , setMouseMoveX ] = useState ( 0 ) ;
15
15
const [ mouseMoveY , setMouseMoveY ] = useState ( 0 ) ;
16
+ const [ imgWidth , setImgWidth ] = useState ( 0 ) ;
16
17
17
18
useEffect ( ( ) => {
18
19
currentMonitor ( ) . then ( ( monitor ) => {
19
- const size = monitor . size ;
20
20
const position = monitor . position ;
21
- invoke ( 'screenshot' , { x : position . x , y : position . y } ) . then ( ( _ ) => {
21
+ invoke ( 'screenshot' , { x : position . x , y : position . y } ) . then ( ( width ) => {
22
+ //真实图片宽度
23
+ setImgWidth ( width ) ;
22
24
appCacheDir ( ) . then ( ( appCacheDirPath ) => {
23
25
join ( appCacheDirPath , 'pot_screenshot.png' ) . then ( ( filePath ) => {
24
26
setImgurl ( convertFileSrc ( filePath ) ) ;
@@ -100,8 +102,7 @@ export default function Screenshot() {
100
102
appWindow . hide ( ) ;
101
103
setIsDown ( false ) ;
102
104
setIsMoved ( false ) ;
103
- const monitor = await currentMonitor ( ) ;
104
- const dpi = monitor . size . width / screen . width ;
105
+ const dpi = imgWidth / screen . width ;
105
106
// const dpi = monitor.scaleFactor; //这是系统的dpi,不一定是网页内容的dpi
106
107
const left = Math . floor ( Math . min ( mouseDownX , e . clientX ) * dpi ) ;
107
108
const top = Math . floor ( Math . min ( mouseDownY , e . clientY ) * dpi ) ;
@@ -113,7 +114,6 @@ export default function Screenshot() {
113
114
} else {
114
115
await emit ( 'translate' ) ;
115
116
}
116
-
117
117
await appWindow . close ( ) ;
118
118
} }
119
119
/>
0 commit comments