def draw(self, event): p = QtGui.QPainter() p.begin(self.ui.widget) pen = QtGui.QPen(QtGui.QColor(0, 255, 255), 3, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin) rect = self.myRect p.setPen(pen) p.setRenderHint(QtGui.QPainter.Antialiasing) #p.drawEllipse(rect) p.drawLine(self.vLine) p.drawLine(self.hLine) p.end()
def __init__(self, parent=None): super(ScribbleArea, self).__init__(parent) self.setAttribute(QtCore.Qt.WA_StaticContents) self.modified = False self.scribbling = False imageSize = QtCore.QSize(500, 500) self.image = QtGui.QImage(imageSize, QtGui.QImage.Format_RGB16) self.userimage = None self.painter = QtGui.QPainter() self.lastPoint = QtCore.QPoint() self.pen = QtGui.QPen()
def paintEvent(self, event): painter = QtGui.QPainter(self) painter.drawImage(event.rect(), self.image) del painter
def _csmapToFile(self, dem, layer_set, outdir): if dem.rasterUnitsPerPixelX() == dem.rasterUnitsPerPixelY(): dx = dem.rasterUnitsPerPixelX() dy = dem.rasterUnitsPerPixelY() w = dem.dataProvider().xSize() h = dem.dataProvider().ySize() elif dem.rasterUnitsPerPixelX() > dem.rasterUnitsPerPixelY(): dx = dem.rasterUnitsPerPixelY() dy = dem.rasterUnitsPerPixelY() w = int(dem.dataProvider().xSize() * (dem.rasterUnitsPerPixelX() / dem.rasterUnitsPerPixelY())) h = dem.dataProvider().ySize() else: dx = dem.rasterUnitsPerPixelX() dy = dem.rasterUnitsPerPixelX() w = dem.dataProvider().xSize() h = int(dem.dataProvider().ySize() * (dem.rasterUnitsPerPixelY() / dem.rasterUnitsPerPixelX())) img = QtGui.QImage(QtCore.QSize(w, h), QtGui.QImage.Format_ARGB32_Premultiplied) color = QtGui.QColor(255, 255, 255) img.fill(color.rgb()) setting = QgsMapSettings() setting.setExtent(dem.dataProvider().extent()) setting.setDestinationCrs(dem.crs()) setting.setOutputSize(QtCore.QSize(w, h)) setting.setLayers(layer_set) setting.updateDerived() p = QtGui.QPainter() p.begin(img) render = QgsMapRendererCustomPainterJob(setting, p) render.start() render.waitForFinished() p.end() temp = tempfile.NamedTemporaryFile() img.save(temp.name + ".tif", "tif") src_ds = gdal.Open(temp.name + ".tif") driver = gdal.GetDriverByName("GTiff") filepath, filename = os.path.split( str(dem.dataProvider().dataSourceUri())) dst_file = outdir + r"/csmap_" + filename dst_ds = driver.CreateCopy(dst_file, src_ds, 0) geo_trans = [ dem.dataProvider().extent().xMinimum(), dx, 0, dem.dataProvider().extent().yMaximum(), 0, dy * -1 ] dst_ds.SetGeoTransform(geo_trans) dst_ds.SetProjection(str(dem.crs().toWkt())) dst_ds = None src_ds = None temp.close() self.result_files.append(dst_file)