2010-11-21 22:50:04 -05:00
|
|
|
# -*- coding: utf-8 -*-
|
2013-02-24 23:09:03 -05:00
|
|
|
"""
|
|
|
|
Demonstrate ability of ImageItem to be used as a canvas for painting with
|
|
|
|
the mouse.
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
2012-03-17 11:47:20 -04:00
|
|
|
import initExample ## Add path to library (just for examples; you do not need this)
|
2010-11-21 22:50:04 -05:00
|
|
|
|
2011-04-05 10:35:50 -04:00
|
|
|
|
2012-03-01 22:58:02 -05:00
|
|
|
from pyqtgraph.Qt import QtCore, QtGui
|
2010-11-21 22:50:04 -05:00
|
|
|
import numpy as np
|
2011-04-05 10:35:50 -04:00
|
|
|
import pyqtgraph as pg
|
2010-11-21 22:50:04 -05:00
|
|
|
|
|
|
|
app = QtGui.QApplication([])
|
|
|
|
|
|
|
|
## Create window with GraphicsView widget
|
2012-05-29 23:18:34 -04:00
|
|
|
w = pg.GraphicsView()
|
|
|
|
w.show()
|
|
|
|
w.resize(800,800)
|
2013-02-24 23:09:03 -05:00
|
|
|
w.setWindowTitle('pyqtgraph example: Draw')
|
2012-05-29 23:18:34 -04:00
|
|
|
|
|
|
|
view = pg.ViewBox()
|
|
|
|
w.setCentralItem(view)
|
|
|
|
|
|
|
|
## lock the aspect ratio
|
2010-11-21 22:50:04 -05:00
|
|
|
view.setAspectLocked(True)
|
|
|
|
|
|
|
|
## Create image item
|
2011-04-05 10:35:50 -04:00
|
|
|
img = pg.ImageItem(np.zeros((200,200)))
|
2012-05-29 23:18:34 -04:00
|
|
|
view.addItem(img)
|
2010-11-21 22:50:04 -05:00
|
|
|
|
|
|
|
## Set initial view bounds
|
|
|
|
view.setRange(QtCore.QRectF(0, 0, 200, 200))
|
|
|
|
|
2012-03-01 21:55:32 -05: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-21 22:50:04 -05:00
|
|
|
|
2012-03-17 11:47:20 -04:00
|
|
|
## Start Qt event loop unless running in interactive mode or using pyside.
|
2012-12-05 00:25:45 -05:00
|
|
|
if __name__ == '__main__':
|
|
|
|
import sys
|
|
|
|
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
|
|
|
|
QtGui.QApplication.instance().exec_()
|