def __init__(self): vispy.app.Canvas.__init__(self, keys='interactive', size=(800, 800)) self.images = [visuals.ImageVisual(image, method='impostor') for i in range(4)] self.images[0].transform = (STTransform(scale=(30, 30), translate=(600, 600)) * SineTransform() * STTransform(scale=(0.1, 0.1), translate=(-5, -5))) tr = AffineTransform() tr.rotate(30, (0, 0, 1)) tr.scale((3, 3)) self.images[1].transform = (STTransform(translate=(200, 600)) * tr * STTransform(translate=(-50, -50))) self.images[2].transform = (STTransform(scale=(3, -150), translate=(200, 100)) * LogTransform((0, 2, 0)) * STTransform(scale=(1, -0.01), translate=(-50, 1.3))) self.images[3].transform = (STTransform(scale=(400, 400), translate=(600, 300)) * PolarTransform() * STTransform(scale=(np.pi/200, 0.005), translate=(-3*np.pi/4., 0.1))) for img in self.images: img.tr_sys = TransformSystem(self) img.tr_sys.visual_to_document = img.transform self.show()
def __init__(self): vispy.app.Canvas.__init__(self, keys='interactive', size=(800, 800)) # Create 4 copies of an image to be displayed with different transforms image = get_image() self.images = [visuals.ImageVisual(image, method='impostor') for i in range(4)] # Transform all images to a standard size / location (because # get_image() might return unexpected sizes) s = 100. / max(self.images[0].size) tx = 0.5 * (100 - (self.images[0].size[0] * s)) ty = 0.5 * (100 - (self.images[0].size[1] * s)) base_tr = STTransform(scale=(s, s), translate=(tx, ty)) self.images[0].transform = (STTransform(scale=(30, 30), translate=(600, 600)) * SineTransform() * STTransform(scale=(0.1, 0.1), translate=(-5, -5)) * base_tr) tr = MatrixTransform() tr.rotate(40, (0, 0, 1)) tr.rotate(30, (1, 0, 0)) tr.translate((0, -20, -60)) p = MatrixTransform() p.set_perspective(0.5, 1, 0.1, 1000) tr = p * tr tr1 = (STTransform(translate=(200, 600)) * tr * STTransform(translate=(-50, -50)) * base_tr) self.images[1].transform = tr1 tr2 = (STTransform(scale=(3, -100), translate=(200, 50)) * LogTransform((0, 2, 0)) * STTransform(scale=(1, -0.01), translate=(-50, 1.1)) * base_tr) self.images[2].transform = tr2 tr3 = (STTransform(scale=(400, 400), translate=(570, 400)) * PolarTransform() * STTransform(scale=(np.pi/150, -0.005), translate=(-3.3*np.pi/4., 0.7)) * base_tr) self.images[3].transform = tr3 text = visuals.TextVisual( text=['logarithmic', 'polar', 'perspective', 'custom (sine)'], pos=[(100, 20), (500, 20), (100, 410), (500, 410)], color='k', font_size=16) self.visuals = self.images + [text] self.show()
def __init__(self): vispy.app.Canvas.__init__(self, keys='interactive', size=(800, 800)) self.image = visuals.ImageVisual(get_image(), method='subdivide') # scale and center image in canvas s = 700. / max(self.image.size) t = 0.5 * (700. - (self.image.size[0] * s)) + 50 self.image.transform = STTransform(scale=(s, s), translate=(t, 50)) self.show()
def __init__(self): self.image = visuals.ImageVisual(image, method='subdivide') self.image_transform = STTransform(scale=(7, 7), translate=(50, 50)) vispy.app.Canvas.__init__(self, keys='interactive') self.size = (800, 800) self.show() # Create a TransformSystem that will tell the visual how to draw self.tr_sys = TransformSystem(self) self.tr_sys.visual_to_document = self.image_transform