示例#1
0
 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()
示例#2
0
    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()
示例#3
0
 def paintEvent(self, event):
     painter = QtGui.QPainter(self)
     painter.drawImage(event.rect(), self.image)
     del painter
示例#4
0
    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)