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