Esempio n. 1
0
        def write_image(cls, filename, scene):
            # export via svg to temp file then print that
            # NOTE: can't use NamedTemporaryFile with delete = True
            # (see https://bugs.python.org/issue14243)
            fd, tmpname = tempfile.mkstemp(suffix=".svg")
            os.close(fd)
            try:
                SvgFormat.write_image(tmpname, scene)
                with open(tmpname, "rb") as f:
                    svgcontents = f.read()
            finally:
                os.unlink(tmpname)

            svgrend = QtSvg.QSvgRenderer(QtCore.QByteArray(svgcontents))
            vbox = svgrend.viewBox()
            if not vbox.isValid():
                size = svgrend.defaultSize()
            else:
                size = vbox.size()
            writer = QtGui.QPdfWriter(filename)
            writer.setPageSizeMM(QtCore.QSizeF(size) * 0.282)
            painter = QtGui.QPainter(writer)
            svgrend.render(painter)
            painter.end()
            del svgrend
            del painter
Esempio n. 2
0
 def _get_buffer(size, filename):
     buffer = QtSvg.QSvgGenerator()
     buffer.setResolution(
         int(QApplication.primaryScreen().logicalDotsPerInch()))
     buffer.setFileName(filename)
     buffer.setViewBox(QtCore.QRectF(0, 0, size.width(), size.height()))
     return buffer
Esempio n. 3
0
 def _get_buffer(size, filename):
     buffer = QtSvg.QSvgGenerator()
     buffer.setFileName(filename)
     buffer.setSize(QtCore.QSize(int(size.width()), int(size.height())))
     return buffer
Esempio n. 4
0
 def _get_buffer(size, filename):
     buffer = QtSvg.QSvgGenerator()
     buffer.setResolution(QApplication.desktop().logicalDpiX())
     buffer.setFileName(filename)
     buffer.setViewBox(QtCore.QRectF(0, 0, size.width(), size.height()))
     return buffer
Esempio n. 5
0
 def _get_buffer(size, filename):
     buffer = QtSvg.QSvgGenerator()
     buffer.setResolution(QApplication.desktop().logicalDpiX())
     buffer.setFileName(filename)
     buffer.setSize(QtCore.QSize(int(size.width()), int(size.height())))
     return buffer