当前位置: 首页 > 知识库问答 >
问题:

OSX:使用python自动(每1-2秒)截图(不是全屏,而是(x、y、w、h))

鲁旭
2023-03-14

我想在OSX上使用python截图。我不想做全屏幕的照片,但只在屏幕上的某些矩形。类似(291,305,213,31)。我需要正确的像素,因为之后图像文件被OCR(python-tesseract)处理以提取文本。

顺便说一句,这是我6年来第一次编程,到目前为止我只懂一点Java。我昨天就开始了,今天早上4点就放弃了。所以基本上我还不知道。。。例如,由于路径设置,我仍然无法使用Sublime进行构建,但这是另一回事。我不可能在一天之内把一切都搞清楚。

我已经尝试了以下内容:-wxPython,但结果是黑色图像,另请参见:stackoverflow。com/questions/8644908/take screenshot in python cross-platform另外,它只在32位模式下工作,但当我使用python tesseract openCV进行OCR时,需要64位的。。。。

>

  • autopy当试图安装我得到了错误,另请参阅:stackoverflow.com/questions/12993126/errors-while-installing-python-autopy

    ImageGrab仅适用于Windows effbot。org/imagingbook/imagegrab。htm

    命令行屏幕截图os.system(“屏幕截图test.png”)当我发现这个时,我想,不错,但在检查人屏幕截图时只有全屏。但是后来我发现了这个:guides.macrumors.c om/Screencapture-R捕获屏幕矩形这已经足够了,但是在OSX 10.7.5我没有这个选项。有什么想法吗?

    进口石英。CoreGraphics永不过时。org/blog/view/156/OS_X_Screen_capture_from_Python_PyObjC

    image = CG.CGWindowListCreateImage(
        region,
        CG.kCGWindowListOptionOnScreenOnly,
        CG.kCGNullWindowID,
        CG.kCGWindowImageDefault)
    

    不幸的是,图像不是文件格式,而是CGImage,不知道如何保存为文件。

    所以如果可能的话,如果有人知道如何使用-R命令行屏幕截图。只是作为一个开始继续。

    还有其他可用的命令行工具吗?

    我错过的其他libs呢?

    干杯

  • 共有1个答案

    阴高寒
    2023-03-14

    假设您可以获得一个CGImageRef,那么您可以使用技术Q中描述的技术获得它的像素数据

    CFDataRef CopyImagePixels(CGImageRef inImage) { return CGDataProviderCopyData(CGImageGetDataProvider(inImage)); }
    

    并说:

    CGDataProviderCopyData返回的像素数据尚未进行颜色匹配,并且是图像的格式,如各种CGImageGet函数所述…

    如果你需要的话,它展示了另一种获取其他格式像素数据的方法。

     类似资料:
    • 我想让应用程序像“简易屏幕录制器”。我必须从哪里开始,因为我搜索了很多,但没有找到任何开始的链接。有任何用于创建屏幕录制器的api,而不是屏幕截图。我不想使用javacv从屏幕截图创建视频。我只想让用户启动应用程序,点击开始录制按钮,然后用户在手机上所做的一切来录制这些内容。 1) Android系统中是否有相关的api。 2) 如何在android中创建屏幕录制器应用程序。 3)是没有任何api

    • 问题内容: 只需创建一个首选大小的简单按钮即可。该方法似乎不起作用。我要去哪里错了? 问题答案: 您的框架受布局管理器的控制,它正在决定如何最好地布局组件,并覆盖您使用所指定的值 现代GUI需要在各种不同的图形环境中运行(甚至在同一OS上),例如,包括不同的DPI,屏幕大小和字体设置。 布局管理器使您不必担心(减少)这些问题,强烈建议您使用它们 看一眼 使用布局管理器 布局管理器的可视指南 更多细

    • 我现在正在使用swift的第一个应用程序。我想写两页。 1.页面->按钮->2.页面 它工作,但2.页面看起来不像全屏?!更像是要滑动的页面?我想要一个普通的2.页像第一个。希望你明白我的意思:谢谢你的帮助。在此输入图像说明

    • 导出const ProductCard=({product})=>{const{deleteProduct,addToCart}=useContext(ProductContext) }

    • Maven shade插件创建的是否自动用于依赖于uberjar的项目(而不是普通的)? 在阅读了大量与dependency-reduced-pom.xml相关的问题并没有找到答案之后提出这个问题: 将dependency-reduced-pom.xml添加到基目录的Maven shade插件

    • 我在使用jersey 1.18的GoogleAppEngine上部署了一个java的RESTfulWeb服务应用程序。6.我想使用邮戳java客户端从它发送事务性电子邮件。当我集成它时,我看到以下异常: 从我所能找到的,我认为这个错误是因为有两个不同的(可能不兼容)版本的泽西被使用,1.18。jersey server、jersey guice和jersey bundle为6,jersey bun