Explain custom points from which to transform

This commit is contained in:
Ruben van de Ven 2024-11-11 11:37:42 +01:00
parent e26ad868ec
commit e066ba7fea
2 changed files with 7 additions and 4 deletions

View file

@ -42,9 +42,10 @@ corners = [
(window.width, window.height), # Top right (window.width, window.height), # Top right
] ]
pins = PygletCornerPin(window, corners) pins = PygletCornerPin(window, corners)
``` ```
Moreover, you don't need to pin the window _corners_, but can pin from any four arbitrary points, by providing `source_points`.
Run [pattern.py](examples/pattern.py) in the examples folder for a demo. Run [pattern.py](examples/pattern.py) in the examples folder for a demo.
To use the keyboard, select a pin with number keys 1-4, the use the arrow keys (optionally with ctrl/shift modifier) to move the handle. To use the keyboard, select a pin with number keys 1-4, the use the arrow keys (optionally with ctrl/shift modifier) to move the handle.

View file

@ -26,10 +26,9 @@ for i in range(y_steps+3):
def on_key_press(symbol, modifiers): def on_key_press(symbol, modifiers):
if symbol == pyglet.window.key.Q or symbol == pyglet.window.key.ESCAPE: if symbol == pyglet.window.key.Q or symbol == pyglet.window.key.ESCAPE:
window.close() window.close()
exit()
pins = PygletCornerPin(window, corners=[[100,100],[800,100],[150,500], [300,300]], source_points=[[100,100], [700,100], [100,500], [300,300]]) pins = PygletCornerPin(window, source_points=[[100,100],[600,100],[100,300], [600,300]], corners= [[100, 100], [444, 155], [230, 250], [600, 300]])
# event handlers for dragging: # event handlers for dragging:
window.push_handlers(pins) window.push_handlers(pins)
@ -42,4 +41,7 @@ def on_draw():
pins.draw() pins.draw()
pyglet.app.run() pyglet.app.run()
print(f"point positions: {pins.pin_positions}")
print("Save these and pass them as 'corner' attribute to restore last position.")