如何从内存中保存webkit页面图像资源?

时间:2012-08-22 20:11:53

标签: python webkit gtk pygtk

我用python,gtk和webkit打开页面。现在 - 如何从该页面保存图像而无需再次从互联网上下载?

1 个答案:

答案 0 :(得分:0)

这是一个将渲染的网页保存到图像的python程序:http://pastie.org/4572412

这应该是您最感兴趣的部分:

    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)

希望这有帮助!