寻合适的放大镜软件

有这样一个需求:电脑投屏视频到电视上,但是视频内嵌的字幕太小,且家里电视太小,离远了很难看清字幕
所以想要一个能把特定区域内容放大到某个区域的放大镜软件
—————————————————————————————————————


—————————————————————————————————————
已经试过:

  1. Windows自带放大镜:把整个屏幕都放大了,且是跟随鼠标的,不适合此场景
  2. 及目蜗牛:软件可以对应上这个需求,但(1)放大镜窗口一直在快速闪动,(2)播放视频时鼠标指针会消失,这时候放大镜窗口里的内容也就不再更新,导致可用性很差
  3. OneLoupe:放大窗口内容更新非常好,不会像及目蜗牛那样一直闪,可惜放大窗口跟随鼠标,不能显示到另一个区域
  4. ZoomIt:效果如同Windows自带放大镜,不合适
  5. 灵猫屏幕放大镜:直接在Windows11上不能用
  6. 如意大大大:感觉稍微改下源码就可以很好的实现我的需求,不知作者@dog 能否提供下源码

主贴似乎不能@别人?
@dog

Viewlens
放大查看模式选成“外部”就行 (跟着鼠标光标的,也就是把鼠标放到字幕那里就显示那里的)

可以试试 OnTopReplica
它的优点是偷偷地支持命令行,第一次设置好参数,后面复用起来很方便

示列
`OnTopReplica.exe --windowClass=窗口类 --region=来源窗口x,y,w,h --position=目标位置x,y --size=目标位置w,h --chromeOff`

Commandline help
      --windowId=HWND        Window handle (HWND) to be cloned.
      --windowTitle=TITLE    Partial TITLE of the window to be cloned.
      --windowClass=CLASS    CLASS of the window to be cloned.
  -v, --visible              If set, only clones windows that are visible.
      --size=WIDTH,HEIGHT    Target WIDTH,HEIGHT of the cloned thumbnail, or
      --width=VALUE          Target WIDTH of cloned thumbnail, or
      --height=VALUE         Target HEIGHT of cloned thumbnail.
      --position=X,Y         Target X,Y of the OnTopReplica window.
      --screenPosition=TR|TL|C|BR|BL
                             Resolution independent window position on 
                               current screen, with locking. Values: 
                               TR|TL|C|BR|BL.
  -r, --region=X,Y,W,H       Region X,Y,W,H of the cloned window.
  -p, --padding=LEFT,TOP,RIGHT,BOTTOM
                             Region padding LEFT,TOP,RIGHT,BOTTOM of the 
                               clone.
  -o, --opacity=0-255        Opacity of the window: 0-255.
      --clickForwarding      Enables click forwarding.
      --clickThrough         Enables click through.
      --chromeOff            Disables the window's chrome (border).
      --fs, --fullscreen     Starts up in fullscreen mode.
  -h, --help, -?             Show command line help.

为什么是「偷偷地」,因为在主页介绍和软件界面里面,都完全没有提到过对命令行的支持,真的是很难发现到无大语

1 Like

OBS似乎有类似的功能,不过我只见过主播弄过。

OnTopReplica
我也有你同样的需求,用的是ontopreplica
如意大大大也可以,不太方便,我待会找一下代码,需要用到Gdip_All.ahk,网上很容易找到

#NoEnv
SetBatchLines -1
CoordMode Mouse, Screen

IniRead, zoom, see-screen-like-boss.ini, setting, zoom
IniRead, xz, see-screen-like-boss.ini, setting, x
IniRead, yz, see-screen-like-boss.ini, setting, y
IniRead, hz, see-screen-like-boss.ini, setting, h
IniRead, wz, see-screen-like-boss.ini, setting, w
IniRead, sleeptime, see-screen-like-boss.ini, setting, settime
IniRead, Vthekey, see-screen-like-boss.ini, setting, thekey

w:=wz * zoom, h:=hz * zoom


#Include, Gdip_All.ahk
Hotkey, %Vthekey% , mainfun,
return
mainfun:
Gui, Destroy
Gui +AlwaysOnTop +Resize +ToolWindow +HwndMagnifierID -Caption
Gui Show, w%w% h%h% NA, Magnifier

source_hdc := GetDC(PrintSourceID)      ; 源DC
dest_hdc := GetDC(MagnifierID)          ; 目标DC

SetTimer Repaint, 50                    ; 不停重绘当前画面
sleep,% sleeptime
gosub guiclose

Repaint:
   StretchBlt(dest_hdc, 0, 0, w, h, source_hdc, xz, yz, wz, hz)
   ; StretchBlt(目标DC, 目标x, 目标y, 目标w, 目标h, 源DC, 源x, 源y, 源w, 源h, 模式)
Return

GuiClose:
   DeleteDC(dest_hdc)                   ; 释放资源
   DeleteDC(source_hdc)
   Gui, Destroy
return

好用~ 感谢 :+1:t2: