禁用 webkit2png 的 -webkit-transform

发布于 2024-11-04 08:05:26 字数 693 浏览 1 评论 0原文

当我尝试使用 webkit2png 截取元素的屏幕截图时,如果该元素使用 webkit-transform,则屏幕截图通常会是空白的。

这是一个研究项目,我正在尝试获取谷歌街景的缩略图,以便我可以快速扫描我需要调整的位置。注意:我们有一个来自谷歌的针对这个项目的特殊服务条款(所以请不要因为我违反了他们的公共服务条款而责骂我)。

这是 webkit2png 源代码的 github: https://github.com/paulhammond/webkit2png/issues/?sort=created&direction=desc&_pjax=true&state=open

该问题已开放。

有什么想法如何解决这个问题吗?

我使用的是 bitpixels.com,但他们的服务缺乏。这将在我每天工作的服务器上运行,因此另一个选择是使用 PyQt4,但我遇到了每次需要拍摄时都会生成 x11 实例的问题。那不会扩展。

目前我正在重建和更新 webkit 的版本,尝试编写一些代码来删除转换,但我想知道这是否会把事情搞砸。

在那之后,我就没有想法了。

When I try to take a screenshot of an element using webkit2png, if the element uses webkit-transform, often the screenshot will be blank.

This is for a research project, where I'm trying to take a thumbnail of google streetview so I can quickly scan which location I need to adjust. Note: We have a special ToS from google for this project (so please don't flame me for breaking their public ToS).

This is the github of the webkit2png source: https://github.com/paulhammond/webkit2png/issues/?sort=created&direction=desc&_pjax=true&state=open

The issue is open.

Any ideas how to fix this?

I was using bitpixels.com but their service is lacking. This will be running on a server that I work on everyday, so the other option is to use PyQt4, but I have issues with that spawning an x11 instance every shot it needs to take. That won't scale.

Currently I'm rebuilding and updated version of webkit, trying to write some code that will remove the transform, but I wonder if this will screw things up.

After that, I'm out of ideas.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何以畏孤独 2024-11-11 08:05:26

https://github.com/Wevah 在 github 上提交的答案

如果您可以放弃对 OS X 的支持 https://github.com/Wevah 10.4,您可以替换

bitmapdata = AppKit.NSBitmapImageRep.alloc()
bitmapdata.initWithFocusedViewRect_(view.bounds())
view.unlockFocus()

bitmapdata = view.bitmapImageRepForCachingDisplayInRect_(view.bounds())
view.cacheDisplayInRect_toBitmapImageRep_(view.bounds(), bitmapdata)

This Works,至少可以替换为原始问题中发布的 URL。或者,您可以将这些东西包装在respondsToSelector_()中,但我不知道Python/Cocoa的东西如何处理弱链接问题。

Answer submitted on github by https://github.com/Wevah

If you can drop support for OS X < 10.4, you can replace

bitmapdata = AppKit.NSBitmapImageRep.alloc()
bitmapdata.initWithFocusedViewRect_(view.bounds())
view.unlockFocus()

with

bitmapdata = view.bitmapImageRepForCachingDisplayInRect_(view.bounds())
view.cacheDisplayInRect_toBitmapImageRep_(view.bounds(), bitmapdata)

This works, at least, with the URL posted in the original issue. Alternatively, you could wrap this stuff in respondsToSelector_(), but I don't know how the Python/Cocoa stuff deals with weak linking issues.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文