如何从内存中保存webkit页面图像资源? [英] How to save webkit page image resources from memory?
本文介绍了如何从内存中保存webkit页面图像资源?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用python,gtk和webkit打开页面。现在 - 如何从该页面保存图像,而不从互联网上再次下载? 解决方案
这是一个python程序,可以保存一个渲染的图像网页: http://pastie.org/4572412
这应该是您感兴趣的主要部分:
size = self.browser.mainFrame( ).contentsSize()
if width> 0:
size.setWidth(width)
self.browser.setViewportSize(size)
将虚拟浏览器视口渲染为图像。
image = QImage(self.browser.viewportSize(),QImage.Format_ARGB32)
paint = QPainter(image)#画家目标是我们的图片对象
self.browser.mainFrame() .render(paint)#Render浏览器窗口给画家
paint.end()
image = image.scaledToWidth(width)#确保图片是你想要的宽度
extension = os.path。 splitext(filename)[1] [1:]。upper()#将文件保存为您想要的图片扩展名
如果扩展名不在self.image_extensions中:
raise ValueError('filename'must a有效的扩展名为{0}。format(self.image_extensions))
image.save(filename,extension)
希望这有助于!
I open page with python, gtk, and webkit. Now - how to save image from that page without downloading it again from the internet?
解决方案
Here is a python program that will save a rendered web page to an image: http://pastie.org/4572412
This should be the section of primary interest to you:
size = self.browser.mainFrame().contentsSize()
if width > 0:
size.setWidth(width)
self.browser.setViewportSize(size)
# Render the virtual browsers viewport to an image.
image = QImage(self.browser.viewportSize(), QImage.Format_ARGB32)
paint = QPainter(image) #Have the painters target be our image object
self.browser.mainFrame().render(paint) #Render browser window to painter
paint.end()
image = image.scaledToWidth(width) #ensure the image is your desired width
extension = os.path.splitext(filename)[1][1:].upper() #save the file as your desired image extension
if extension not in self.image_extensions:
raise ValueError("'filename' must be a valid extension: {0}".format(self.image_extensions))
image.save(filename, extension)
Hope this helps!
这篇关于如何从内存中保存webkit页面图像资源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文