def testPreview(): """ """ import sys import os.path if len(sys.argv) < 2: print("give an image file as parameter please.") sys.exit(1) if len(sys.argv) > 2: print("only one parameter please.") sys.exit(1) filename = sys.argv[1] a = qt.QApplication(sys.argv) p = qt.QPrinter() p.setOutputFileName(os.path.splitext(filename)[0] + ".ps") p.setColorMode(qt.QPrinter.Color) w = PyMcaPrintPreview(parent=None, printer=p, name='Print Prev', modal=0, fl=0) w.resize(400, 500) if QTVERSION < '4.0.0': w.addPixmap(qt.QPixmap(qt.QImage(filename))) else: w.addPixmap(qt.QPixmap.fromImage(qt.QImage(filename))) w.addImage(qt.QImage(filename)) if 0: w2 = PyMcaPrintPreview(parent=None, printer=p, name='2Print Prev', modal=0, fl=0) w.exec_() w2.resize(100, 100) w2.show() sys.exit(w2.exec_()) if QTVERSION < '4.0.0': sys.exit(w.exec_loop()) else: sys.exit(w.exec_())
def testPreview(): """ """ import sys import os if len(sys.argv) < 2: print("give an image file as parameter please.") sys.exit(1) if len(sys.argv) > 2: print("only one parameter please.") sys.exit(1) filename = sys.argv[1] a = qt.QApplication(sys.argv) if filename[-3:] == "svg": item = qt.QSvgWidget() item.load(filename) item.show() sys.exit(a.exec_()) p = qt.QPrinter() p.setOutputFileName(os.path.splitext(filename)[0] + ".ps") p.setColorMode(qt.QPrinter.Color) w = PyMcaPrintPreview(parent=None, printer=p, name='Print Prev', modal=0, fl=0) w.resize(400, 500) comment = "" for i in range(20): comment += "Line number %d: En un lugar de La Mancha de cuyo nombre ...\n" w.addPixmap(qt.QPixmap.fromImage(qt.QImage(filename)), title=filename, comment=comment, commentposition="CENTER") w.addImage(qt.QImage(filename), comment=comment, commentposition="LEFT") #w.addImage(qt.QImage(filename)) w.exec_()
def display_image(self): self.flagFirstCircle = True self.image = qt.QImage(self.data, self.data.shape[1], self.data.shape[0], self.data.shape[1],qt.QImage.Format_Indexed8) self.image.setColorTable(self.colortable) pixMap = qt.QPixmap.fromImage(self.image) pixItem = qt.QGraphicsPixmapItem(pixMap) pixItem.setZValue(-1) self.scene.addItem(pixItem) self.scene.setSceneRect(0, 0, self.image.width(), self.image.height()) self.scene.update
def testSimple(): import sys import os filename = sys.argv[1] a = qt.QApplication(sys.argv) w = qt.QWidget() l = qt.QVBoxLayout(w) button = qt.QPushButton(w) button.setText("Print") scene = qt.QGraphicsScene() pixmapItem = qt.QGraphicsPixmapItem( qt.QPixmap.fromImage(qt.QImage(filename))) pixmapItem.setFlag(pixmapItem.ItemIsMovable, True) printer = qt.QPrinter(qt.QPrinter.HighResolution) printer.setFullPage(True) printer.setOutputFileName(os.path.splitext(filename)[0] + ".ps") page = qt.QGraphicsRectItem(0, 0, printer.width(), printer.height()) scene.setSceneRect(qt.QRectF(0, 0, printer.width(), printer.height())) scene.addItem(page) scene.addItem(pixmapItem) view = qt.QGraphicsView(scene) view.fitInView(page.rect(), qt.Qt.KeepAspectRatio) #view.setSceneRect( view.scale(2, 2) #page.scale(0.05, 0.05) def printFile(): painter = qt.QPainter(printer) scene.render( painter, qt.QRectF(0, 0, printer.width(), printer.height()), qt.QRectF(page.rect().x(), page.rect().y(), page.rect().width(), page.rect().height()), qt.Qt.KeepAspectRatio) painter.end() l.addWidget(button) l.addWidget(view) w.resize(300, 600) w.show() w.connect(button, qt.SIGNAL('clicked()'), printFile) a.exec_()
def test(): app = qt.QApplication([]) qt.QObject.connect(app, qt.SIGNAL("lastWindowClosed()"), app, qt.SLOT('quit()')) if len(sys.argv) > 1: if sys.argv[1][-3:].upper() in ['EDF', 'CCD']: container = ExternalImagesWindow(selection=False, colormap=True, imageicons=False, standalonesave=True) #, #dynamic=True) container.setImageList(sys.argv[1:], dynamic=True) else: container = ExternalImagesWindow() image = qt.QImage(sys.argv[1]) #container.setQImage(image, image.width(),image.height()) container.setQImageList([image], 200, 100) else: container = ExternalImagesWindow() data = numpy.arange(10000) data.shape = 100, 100 container.setImageData(data) container.show() def theSlot(ddict): print(ddict['event']) if QTVERSION < '4.0.0': qt.QObject.connect(container, qt.PYSIGNAL("MaskImageWidgetSignal"), theSlot) app.setMainWidget(container) app.exec_loop() else: if not container._dynamic: qt.QObject.connect(container, qt.SIGNAL("MaskImageWidgetSignal"), theSlot) app.exec_()
self._worldHeight = height def setAlpha(self, alpha): self._alpha = alpha if __name__ == "__main__": DEBUG = 1 import os from PyMca import QtBlissGraph app = qt.QApplication([]) plot = QtBlissGraph.QtBlissGraph() rescaler = Qwt5.QwtPlotRescaler(plot.canvas()) rescaler.setEnabled(True) item = PolygonItem("Dummy") item.setData(x=[10, 400, 600.], y=[200, 600, 800.]) item.attach(plot) image = QImageItem("Dummy2") qImage = qt.QImage( os.path.join(os.path.dirname(__file__), "PyMcaSplashImage.png")) image.setQImageList([qImage], qImage.width(), qImage.height()) image.setData(200, 600) image.setAlpha(0.5) image.attach(plot) if 0: plot.setY1AxisLimits(1000, 0) else: plot.setY1AxisLimits(0, 1000) plot.show() app.exec_()
def _loadImageFiles(self): if self.getStackDataObject() is None: return getfilter = True fileTypeList = [ "PNG Files (*png)", "JPEG Files (*jpg *jpeg)", "IMAGE Files (*)", "EDF Files (*edf)", "EDF Files (*ccd)", "EDF Files (*)" ] message = "Open image file" filenamelist, filefilter = PyMcaFileDialogs.getFileList( parent=None, filetypelist=fileTypeList, message=message, getfilter=getfilter, single=False, currentfilter=None) if len(filenamelist) < 1: return imagelist = [] imagenames = [] mask = self.getStackSelectionMask() if mask is None: r, n = self.getStackROIImagesAndNames() shape = r[0].shape else: shape = mask.shape if filefilter.split()[0] in ["EDF"]: for filename in filenamelist: #read the edf file edf = EDFStack.EdfFileDataSource.EdfFileDataSource(filename) #the list of images keylist = edf.getSourceInfo()['KeyList'] if len(keylist) < 1: msg = qt.QMessageBox(None) msg.setIcon(qt.QMessageBox.Critical) msg.setText("Cannot read image from file") msg.exec_() return for key in keylist: #get the data dataObject = edf.getDataObject(key) data = dataObject.data if data.shape[0] not in shape: continue if data.shape[1] not in shape: continue imagename = dataObject.info.get('Title', "") if imagename != "": imagename += " " imagename += os.path.basename(filename) + " " + key imagelist.append(data) imagenames.append(imagename) if len(imagelist) == 0: msg = qt.QMessageBox(None) msg.setIcon(qt.QMessageBox.Critical) msg.setText("Cannot read a valid image from the file") msg.exec_() return crop = False self.widget = StackPluginResultsWindow.StackPluginResultsWindow( parent=None, usetab=False) self.widget.buildAndConnectImageButtonBox() qt.QObject.connect(self.widget, qt.SIGNAL('MaskImageWidgetSignal'), self.mySlot) self.widget.setStackPluginResults(imagelist, image_names=imagenames) self._showWidget() return else: #Try pure Image formats for filename in filenamelist: image = qt.QImage(filename) if image.isNull(): msg = qt.QMessageBox(self) msg.setIcon(qt.QMessageBox.Critical) msg.setText("Cannot read file %s as an image" % filename) msg.exec_() return imagelist.append(image) imagenames.append(os.path.basename(filename)) if len(imagelist) == 0: msg = qt.QMessageBox(None) msg.setIcon(qt.QMessageBox.Critical) msg.setText("Cannot read a valid image from the file") msg.exec_() return self.widget = ExternalImagesWindow.ExternalImagesWindow( parent=None, rgbwidget=None, selection=True, colormap=True, imageicons=True, standalonesave=True) self.widget.buildAndConnectImageButtonBox() qt.QObject.connect(self.widget, qt.SIGNAL('MaskImageWidgetSignal'), self.mySlot) self.widget.setImageData(None) self.widget.setQImageList(imagelist, shape[1], shape[0], clearmask=False, data=None, imagenames=imagenames) #data=self.__stackImageData) self._showWidget() return