def test_simple():
    tempfilename = tempfile.NamedTemporaryFile(suffix='.svg').name
    print("using %s as a temporary file" % tempfilename)
    
    view = pg.GraphicsView()
    view.show()

    scene = view.sceneObj

    rect = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100)
    scene.addItem(rect)
    rect.setPos(20,20)
    rect.translate(50, 50)
    rect.rotate(30)
    rect.scale(0.5, 0.5)
    
    rect1 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100)
    rect1.setParentItem(rect)
    rect1.setFlag(rect1.ItemIgnoresTransformations)
    rect1.setPos(20, 20)
    rect1.scale(2,2)
    
    el1 = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 100)
    el1.setParentItem(rect1)
    grp = pg.ItemGroup()
    grp.setParentItem(rect)
    grp.translate(200,0)
    grp.rotate(30)
    
    rect2 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 25)
    rect2.setFlag(rect2.ItemClipsChildrenToShape)
    rect2.setParentItem(grp)
    rect2.setPos(0,25)
    rect2.rotate(30)
    el = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 50)
    el.translate(10,-5)
    el.scale(0.5,2)

    el.setParentItem(rect2)

    grp2 = pg.ItemGroup()
    scene.addItem(grp2)
    grp2.scale(100,100)

    rect3 = pg.QtGui.QGraphicsRectItem(0,0,2,2)
    rect3.setPen(pg.mkPen(width=1, cosmetic=False))
    grp2.addItem(rect3)

    ex = pg.exporters.SVGExporter(scene)
    ex.export(fileName=tempfilename)
    os.unlink(tempfilename)
Esempio n. 2
0
def test_simple(tmpdir):
    view = pg.GraphicsView()
    view.show()

    scene = view.sceneObj

    rect = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100)
    scene.addItem(rect)
    rect.setPos(20, 20)
    tr = pg.QtGui.QTransform()
    rect.setTransform(tr.translate(50, 50).rotate(30).scale(0.5, 0.5))

    rect1 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100)
    rect1.setParentItem(rect)
    rect1.setFlag(rect1.GraphicsItemFlag.ItemIgnoresTransformations)
    rect1.setPos(20, 20)
    rect1.setScale(2)

    el1 = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 100)
    el1.setParentItem(rect1)
    grp = pg.ItemGroup()
    grp.setParentItem(rect)
    tr = pg.QtGui.QTransform()
    grp.setTransform(tr.translate(200, 0).rotate(30))

    rect2 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 25)
    rect2.setFlag(rect2.GraphicsItemFlag.ItemClipsChildrenToShape)
    rect2.setParentItem(grp)
    rect2.setPos(0, 25)
    rect2.setRotation(30)
    el = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 50)
    tr = pg.QtGui.QTransform()
    el.setTransform(tr.translate(10, -5).scale(0.5, 2))

    el.setParentItem(rect2)

    grp2 = pg.ItemGroup()
    scene.addItem(grp2)
    grp2.setScale(100)

    rect3 = pg.QtGui.QGraphicsRectItem(0, 0, 2, 2)
    rect3.setPen(pg.mkPen(width=1, cosmetic=False))
    grp2.addItem(rect3)

    ex = pg.exporters.SVGExporter(scene)
    tf = tmpdir.join("expot.svg")
    ex.export(fileName=tf)
Esempio n. 3
0
 def makeGraph(self):
     #g1 = pg.GraphItem(pos=self.pos, adj=self.links[self.rope], pen=0.2, symbol=None)
     brushes = np.where(self.fixed, pg.mkBrush(0,0,0,255), pg.mkBrush(50,50,200,255))
     g2 = pg.GraphItem(pos=self.pos, adj=self.links[self.push & self.pull], pen=0.5, brush=brushes, symbol='o', size=(self.mass**0.33), pxMode=False)
     p = pg.ItemGroup()
     #p.addItem(g1)
     p.addItem(g2)
     return p
Esempio n. 4
0
 def test_simple(self):
     scene = pg.QtGui.QGraphicsScene()
     #rect = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100)
     #scene.addItem(rect)
     #rect.setPos(20,20)
     #rect.translate(50, 50)
     #rect.rotate(30)
     #rect.scale(0.5, 0.5)
     
     #rect1 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100)
     #rect1.setParentItem(rect)
     #rect1.setFlag(rect1.ItemIgnoresTransformations)
     #rect1.setPos(20, 20)
     #rect1.scale(2,2)
     
     #el1 = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 100)
     #el1.setParentItem(rect1)
     ##grp = pg.ItemGroup()
     #grp.setParentItem(rect)
     #grp.translate(200,0)
     ##grp.rotate(30)
     
     #rect2 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 25)
     #rect2.setFlag(rect2.ItemClipsChildrenToShape)
     #rect2.setParentItem(grp)
     #rect2.setPos(0,25)
     #rect2.rotate(30)
     #el = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 50)
     #el.translate(10,-5)
     #el.scale(0.5,2)
     #el.setParentItem(rect2)
     
     grp2 = pg.ItemGroup()
     scene.addItem(grp2)
     grp2.scale(100,100)
     
     rect3 = pg.QtGui.QGraphicsRectItem(0,0,2,2)
     rect3.setPen(pg.mkPen(width=1, cosmetic=False))
     grp2.addItem(rect3)
     
     ex = pg.exporters.SVGExporter.SVGExporter(scene)
     ex.export(fileName='test.svg')
Esempio n. 5
0
 def __init__(self, **opts):
     defOpts = {'movable': False, 'scalable': False}
     defOpts.update(opts)
     item = pg.ItemGroup()
     CanvasItem.__init__(self, item, **defOpts)
Esempio n. 6
0
roi1 = pg.RectROI((posx, posy), size, pen=9)
roi2 = pg.RectROI((posx, posy), size, pen=9)

roi1.addScaleHandle([0, 0], [1, 1])
roi2.addScaleHandle([0, 0], [1, 1])
roi1.addScaleRotateHandle([1, 0], [1, 1])
roi2.addScaleRotateHandle([1, 0], [1, 1])

# Convert OpenCV-style transform to Qt-style.
# First, swap x <=> y
qtmat = warpmat[[1, 0, 2]][:, [1, 0, 2]]
# Transpose and build QTransform:
elements = np.array(qtmat).T.flatten()
roitrans = pg.QtGui.QTransform(*elements)
transitem = pg.ItemGroup()
transitem.setTransform(roitrans)
roi2.setParentItem(transitem)

vb1.addItem(roi1)
vb2.addItem(transitem)


# This method will handle ROI region changes
def regionChanged(source):
    """This method will handle ROI region changes."""

    # 'source' refers to the ROI that was moved by the user;
    # 'target' will be the other ROI.
    target = roi2 if source == roi1 else roi1