缩放到桌面特定部分的应用程序

Posted

技术标签:

【中文标题】缩放到桌面特定部分的应用程序【英文标题】:Application that zooms to a specific part of the desktop 【发布时间】:2012-04-03 20:23:53 【问题描述】:

我想(主要出于教学目的)创建一个 linux 应用程序,它应该允许用户在屏幕上选择一个矩形(该区域内的任何窗口)并将其缩放到屏幕上。

我应该从哪里开始?我已经使用 C# 在 Windows 上做了类似的事情(基本上我拍摄了该区域的快照并使用 Image 控件对其进行了缩放),但在 linux 上我不知道从哪里开始。

我正在考虑在主窗口中使用 QT,也许是使用 Qt 的 openGL,但我需要有关这种方法是否正确的信息以及一些入门技巧。使用 QT 和 openGL 是一种很好的方法吗?我应该使用什么 api/功能在屏幕上绘制并复制它的特定区域(并缩放它)?

【问题讨论】:

windows下你用的是什么? 什么意思?我写了我使用 C# 并拍摄了我想要的区域的快照 (CopyFromScreen) 当您说您拍摄了快照时,您的意思是您点击打印屏幕并将其粘贴到放大图像的图像控件中?或者你正在做一些 Windows API 调用?基本上我想知道是否有任何理由你不能在 Linux 上做同样的事情,因为你在 Windows 下使用单声道......? 仅供参考,已经有适用于 Linux 的屏幕放大镜应用程序:magnifier.sourceforge.net 【参考方案1】:

我认为使用 Qt 是个好主意。 Qt screenshot example 可能是一个好的开始。然后创建一个简单的 QApplication 来根据鼠标位置显示缩放部分应该是可行的,即使对于第一个 Qt 项目也是如此!

我真的推荐你使用 QtCreator 在 linux 上进行开发,它是一个非常棒的 IDE。

【讨论】:

我做到了,使用 QT 简直是小菜一碟。谢谢!【参考方案2】:

使用Mono 将您的c# 代码移植到Linux 怎么样?有quite a few options for GUI toolkits,您也许可以重用您的 Windows 应用程序中的一些代码。

【讨论】:

它使用特定于 windows 的函数,正如我所写的,我想在 linux 中本地执行此操作,我不想使用 Java,而只是使用普通 C/C++

以上是关于缩放到桌面特定部分的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在iOS中使用动画将图像缩放到特定的矩形?

如何同步安装在多台 PC 上的桌面应用程序?

仅捏手势缩放从左上角缩放 UIImage

Bootstrap 响应式图像缩放

win10更新后,uwp的应用桌面图标异常缩放

阻止特定 c# winforms 的桌面共享或检测桌面共享