2010-11-22 03:50:04 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
2013-02-25 04:09:03 +00:00
|
|
|
"""
|
|
|
|
Demonstrate ability of ImageItem to be used as a canvas for painting with
|
|
|
|
the mouse.
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
2012-03-17 15:47:20 +00:00
|
|
|
import initExample ## Add path to library (just for examples; you do not need this)
|
2010-11-22 03:50:04 +00:00
|
|
|
|
2011-04-05 14:35:50 +00:00
|
|
|
|
2012-03-02 03:58:02 +00:00
|
|
|
from pyqtgraph.Qt import QtCore, QtGui
|
2010-11-22 03:50:04 +00:00
|
|
|
import numpy as np
|
2011-04-05 14:35:50 +00:00
|
|
|
import pyqtgraph as pg
|
2010-11-22 03:50:04 +00:00
|
|
|
|
2021-01-27 18:59:07 +00:00
|
|
|
app = pg.mkQApp("Draw Example")
|
2010-11-22 03:50:04 +00:00
|
|
|
|
|
|
|
## Create window with GraphicsView widget
|
2012-05-30 03:18:34 +00:00
|
|
|
w = pg.GraphicsView()
|
|
|
|
w.show()
|
|
|
|
w.resize(800,800)
|
2013-02-25 04:09:03 +00:00
|
|
|
w.setWindowTitle('pyqtgraph example: Draw')
|
2012-05-30 03:18:34 +00:00
|
|
|
|
|
|
|
view = pg.ViewBox()
|
|
|
|
w.setCentralItem(view)
|
|
|
|
|
|
|
|
## lock the aspect ratio
|
2010-11-22 03:50:04 +00:00
|
|
|
view.setAspectLocked(True)
|
|
|
|
|
|
|
|
## Create image item
|
2011-04-05 14:35:50 +00:00
|
|
|
img = pg.ImageItem(np.zeros((200,200)))
|
2012-05-30 03:18:34 +00:00
|
|
|
view.addItem(img)
|
2010-11-22 03:50:04 +00:00
|
|
|
|
|
|
|
## Set initial view bounds
|
|
|
|
view.setRange(QtCore.QRectF(0, 0, 200, 200))
|
|
|
|
|
2012-03-02 02:55:32 +00:00
|
|
|
## start drawing with 3x3 brush
|
|
|
|
kern = np.array([
|
|
|
|
[0.0, 0.5, 0.0],
|
|
|
|
[0.5, 1.0, 0.5],
|
|
|
|
[0.0, 0.5, 0.0]
|
|
|
|
])
|
|
|
|
img.setDrawKernel(kern, mask=kern, center=(1,1), mode='add')
|
|
|
|
img.setLevels([0, 10])
|
2010-11-22 03:50:04 +00:00
|
|
|
|
2012-12-05 05:25:45 +00:00
|
|
|
if __name__ == '__main__':
|
2021-05-13 21:28:22 +00:00
|
|
|
pg.exec()
|