コード例 #1
0
ファイル: configurer.py プロジェクト: platofff/risovaka
    def mouseDoubleClickEvent(self, e):
        x = e.x()
        y = e.y()

        if image.getpixel((x, y)) == (255, 255, 255, 255):
            ImageDraw.floodfill(image, (x, y), (50, 205, 50, 255))
            self.setPixmap(QPixmap.fromImage(ImageQt.ImageQt(image)))
            curTer = self.list.currentItem().text()
            if curTer not in config:
                config.update(OrderedDict({curTer: [(x, y)]}))
            else:
                config[curTer] += [(x, y)]
            item = self.list.currentItem()
            item.setFlags(item.flags() ^ Qt.ItemIsEditable)
コード例 #2
0
 def configScan(self):
     self.dev.resolution = int(self.ui.resolutions.currentText())
     self.dev.mode = self.checkScanMode()
     self.dev.start()
     im = self.dev.snap()
     pix = ImageQt.ImageQt(im.convert('RGBA'))
     #self.configWin.im = im
     #self.configWin.ui.view.setPixmap(self.configWin.pixmap.fromImage(pix))
     self.configWin.pixmapItem.setPixmap(QPixmap.fromImage(pix))
     self.configWin.ui.view.fitInView(self.configWin.pixmapItem,
                                      Qt.KeepAspectRatio)
     self.configWin.pixmapItem.grabMouse()
     self.configWin.setBufferImage()
     self.configWin.enhanceImage()
コード例 #3
0
 def showImage(self, fname):
     """Show the masked images"""
     value = self.comboBox.currentIndex()
     img = Image.open(fname).convert('RGB')
     self.img_original = img.resize(self.opt.loadSize)
     if value < 4:
         self.img = self.img_original
     else:
         self.img = self.img_original
         sub_img = Image.fromarray(np.uint8(255 * np.ones((128, 128, 3))))
         mask = Image.fromarray(np.uint8(255 * np.ones((128, 128))))
         self.img.paste(sub_img, box=(64, 64), mask=mask)
     self.show_image = ImageQt.ImageQt(self.img)
     self.new_painter(self.show_image)
コード例 #4
0
    def pixelate_image(self):
        grid_offset = int(self.spinBox_offset_pixel_grid.value())

        pixel_size = int(self.spinBox_pixel_size.value())
        x_size = floor(
            (self.original_image.size[0] - grid_offset) / pixel_size)
        y_size = floor(
            (self.original_image.size[1] - grid_offset) / pixel_size)

        self.reset_pixel_perfected_image()
        img_as_array = np.array(self.pixel_perfected_image)

        for y in range(y_size):
            for x in range(x_size):
                sub_image = self.pixel_perfected_image.crop(
                    (x * pixel_size + grid_offset,
                     y * pixel_size + grid_offset,
                     (x * pixel_size) + pixel_size + grid_offset,
                     (y * pixel_size) + pixel_size + grid_offset))

                colours = sub_image.getcolors(sub_image.size[0] *
                                              sub_image.size[1])

                # Pink debugging default colour
                final_colour = (255, 0, 255)
                if self.radioButton_common_colour.isChecked():
                    final_colour = max(colours, key=lambda x: x[0])[1]

                elif self.radioButton_colours_average.isChecked():
                    for i, colour in enumerate(colours):
                        colours[i] = cvtColor(
                            np.asarray([[colour[1]]], dtype='float32') / 255,
                            COLOR_RGB2Lab)

                    final_colour = sum(colours) / len(colours)
                    final_colour = cvtColor(final_colour, COLOR_Lab2RGB) * 255

                img_as_array[y * pixel_size + grid_offset:(y * pixel_size) +
                             pixel_size + grid_offset,
                             x * pixel_size + grid_offset:(x * pixel_size) +
                             pixel_size + grid_offset] = final_colour

        self.pixel_perfected_image = Image.fromarray(img_as_array, mode='RGB')
        self.resized_pixel_perfected_image = resize_image(
            self.pixel_perfected_image, self.label_size)
        self.qimage_resized_pixel_perfected = ImageQt.ImageQt(
            self.resized_pixel_perfected_image)
        self.displayed_image = QtGui.QPixmap.fromImage(
            self.qimage_resized_pixel_perfected)
        self.label_img.setPixmap(self.displayed_image)
コード例 #5
0
def load_heif(full_file_name: str, catch_pyheif_exceptions: bool=True, process_name: str=''):
    """
    Load HEIF file and convert it to a QImage using Pillow
    :param full_file_name: image to load
    :return: ImageQt (subclass of QImage). Must keep this in memory for duration of
     operations on it
    """
    global _error_logged

    try:
        image = pyheif.read_heif(full_file_name)
    except pyheif.error.HeifError:
        if not _error_logged:
            if process_name:
                process_id = "the %s" % process_name
            else:
                process_id = 'this'
            logging.error(
                "Error using pyheif to load HEIF file %s. "
                "If encountered on another file, this error message will only be repeated once "
                "for %s process.", full_file_name, process_id
            )
            _error_logged = True
        if not catch_pyheif_exceptions:
            raise
        return None
    except FileNotFoundError:
        if not _error_logged:
            if process_name:
                process_id = "the %s" % process_name
            else:
                process_id = 'this'
            logging.error(
                "FileNotFoundError using pyheif to load HEIF file %s ."
                "If encountered on another file, this error message will only be repeated once "
                "for %s process.", full_file_name, process_id
            )
            _error_logged = True
        if not catch_pyheif_exceptions:
            raise
        return None

    pillow_image = Image.frombytes(mode=image.mode, size=image.size, data=image.data)
    if pillow_image.mode not in ('RGB', 'RGBA', '1', 'L', 'P'):
        pillow_image = pillow_image.convert('RGBA')

    imageqt = ImageQt.ImageQt(pillow_image)
    if imageqt is not None and not imageqt.isNull():
        return imageqt
    return None
コード例 #6
0
 def get_input_image(self, file):
     self.input_image = cv2.imread(file)
     self.input_image = cv2.cvtColor(self.input_image, cv2.COLOR_BGR2RGB)
     self.input_image = cv2.resize(
         self.input_image, (self.Graphic.org_image_graphic.width(),
                            self.Graphic.org_image_graphic.height()),
         interpolation=cv2.INTER_NEAREST)
     image = Image.fromarray(self.input_image)
     scene = QtWidgets.QGraphicsScene()
     converted_image = QtGui.QPixmap.fromImage(
         QtGui.QImage(ImageQt.ImageQt(image)))
     pixmap = QtWidgets.QGraphicsPixmapItem(converted_image)
     scene.addItem(pixmap)
     self.Graphic.org_image_graphic.setScene(scene)
コード例 #7
0
    def getFrame(self, position, scale=None, asQt=True):
        self._video.set(cv2.CAP_PROP_POS_FRAMES, position)
        ret, frame = self._video.read()

        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        image = Image.fromarray(frame)

        if scale:
            image.thumbnail(scale, Image.ANTIALIAS)

        if asQt:
            return ImageQt.ImageQt(image)
        else:
            return image
コード例 #8
0
def Open():
    src_path, _ = QFileDialog.getOpenFileName(
        filter="Images (*.png *.jpg *.npy *.jpeg)")
    if (src_path != "" or src_path != None):
        name, exten = splitext(src_path)
        image = None
        if (exten == ".npy"):
            data = load(src_path)
            image = Image.fromarray(data)
        else:
            image = Image.open(src_path)
        return (src_path, ImageQt.ImageQt(image), image)
    else:
        return
コード例 #9
0
 def newblend(self):
     try:
         morpher = Morpher(self.leftImg, self.leftTriangles, self.rightImg, self.rightTriangles)
         result = morpher.getImageAtAlpha(self.alpha)
     except:
         morpher = ColorMorpher(self.leftImg, self.leftTriangles, self.rightImg, self.rightTriangles)
         result = morpher.getImageAtAlpha(self.alpha)
     # Image.fromarray(result).show()
     result = ImageQt.ImageQt(Image.fromarray(result))
     graph = QPixmap()
     graph.convertFromImage(result)
     self.blendscene.addPixmap(graph)
     self.graBlend.setScene(self.blendscene)
     self.graBlend.fitInView(QGraphicsScene.itemsBoundingRect(self.blendscene), Qt.KeepAspectRatio)
コード例 #10
0
 def __init__(self, image: Image.Image, min_height=360):
     super().__init__()  # Requred;
     """^^^^^^^^^^^^^^^^^^^^^^^"""
     self.__image = image
     self.__history = []
     self.__render_image = ImageQt.ImageQt(self.__image)
     self.__tool = SelectoRect()
     self.__tool.init(self, ratio=3 / 3.73)
     # Setup
     self.setMinimumHeight(min_height)
     self.setFocus(Qt.MouseFocusReason)
     self.__tool.setImage(self.__render_image)
     self.__tool.onDoubleClick_r.connect(self._crop)  # type: ignore
     self.__tool.onDoubleClick_l.connect(self._finalCrop)  # type: ignore
コード例 #11
0
 def create_thumbnail_from(self, path):
     # QImage result = img.scaled(200, 150, Qt::IgnoreAspectRatio, Qt::FastTransformation);
     try:
         im = Image.open(path)
         imageQT = ImageQt.ImageQt(im)
         imageQTRescaled = imageQT.scaled(128, 128,
                                          QtCore.Qt.IgnoreAspectRatio,
                                          QtCore.Qt.FastTransformation)
         pixmap = QtGui.QPixmap.fromImage(imageQTRescaled)
         qt_thumbnail = QtWidgets.QLabel("", self)
         qt_thumbnail.setPixmap(pixmap)
     except FileNotFoundError:
         qt_thumbnail = QtWidgets.QLabel("Bild nicht gefunden", self)
     return qt_thumbnail
コード例 #12
0
        def __init__(self):
            super(Example, self).__init__()

            img = hopper().resize((1000, 1000))

            qimage = ImageQt.ImageQt(img)

            pixmap1 = QtGui.QPixmap.fromImage(qimage)

            QHBoxLayout(self)  # hbox

            lbl = QLabel(self)
            # Segfault in the problem
            lbl.setPixmap(pixmap1.copy())
コード例 #13
0
    def __readImage(self, file):
        # frame=Image.open(file)
        # self.image=ImageQt.ImageQt(frame).convertToFormat(QImage.Format_RGB888)
        try:
            frame = Image.open(file)
            self.image = ImageQt.ImageQt(frame).convertToFormat(
                QImage.Format_RGB888)
            # self.image=QPixmap(file)
            self.size = frame.size

            return True
        except:
            self.image = None
            return False
コード例 #14
0
 def pattern_show(self, w, image, ch_num):
     a = w.findChild(
         QtGui.QLabel,
         str(self.LCOS_num) + "_" +
         str(int(numpy.floor(ch_num / self.total_w))) + "_" + str(
             (ch_num % self.total_w)))
     if type(a) != None:
         image = ImageQt.ImageQt(image)
         a.setPixmap(QtGui.QPixmap.fromImage(image))
         a.repaint()
         return True
     else:
         print("Fail to change pattern! No such label with THIS NAME")
         return False
コード例 #15
0
 def pil_to_pix(self, pil: Image.Image):
     if not pil.mode == 'RGBA':
         pil = pil.convert('RGBA')
     qimage = ImageQt.ImageQt(pil)
     if qimage.size().width() < self.min:
         qimage = qimage.scaled(
             self.min, self.min, Qt.KeepAspectRatio
         )
     if qimage.size().width() > self.max:
         qimage = qimage.scaled(
             self.max, self.max, Qt.KeepAspectRatio
         )
     pix = QPixmap.fromImage(qimage)
     return pix
コード例 #16
0
    def updateData(self):

        mask = self.Hr[self.count, :]  # Load a mask as a row vector
        img_vec = np.reshape(
            self.image, (self.imgWidth * self.imgHeight, 1))  # Image vector

        curr_scan = np.dot(
            mask, img_vec
        )  # Perform a scan using dot product of mask row vec and image col vec
        self.sensor_readings[
            self.count] = curr_scan  # Add to vector of sensor reading
        if self.noise:
            scan_noise = np.random.normal(0, self.noise)
            self.sensor_readings[self.count] += scan_noise

        curr_res = np.reshape(self.sensor_readings,
                              (self.imgHeight, self.imgWidth))

        # Conversion to QtImage
        #curr_res = (curr_res * 255).astype(np.uint8)
        curr_res = (curr_res).astype(np.uint8)
        res = Image.fromarray(curr_res, mode='L')
        resQT = ImageQt.ImageQt(res)
        QI = resQT
        self.label.setPixmap(
            QtGui.QPixmap.fromImage(QI).scaled(self.dispWidth,
                                               self.dispHeight))

        if self.count <= 10 or self.count % 100 == 0:
            print("Count: %s \n" % self.count)

        self.count += 1

        if self.count >= self.numMeasurements:
            """
      # Vectorize and save sensor readings
      self.sensor_readings = np.reshape(self.sensor_readings, (self.numMeasurements, 1))
      print("Saving data as %s.npy" % self.outfile)
      np.save("%s.npy" % self.outfile, self.sensor_readings)
      """

            self.timer.stop()
            self.time_final = time.time()
            elapsed_time = self.time_final - self.time0
            print("\nScan completed")
            print("Scan time: %.3f m" % ((elapsed_time // 60)),
                  " %.3f s" % ((elapsed_time) % 60))
            time.sleep(2.0)
            self.close()
コード例 #17
0
ファイル: qeqr.py プロジェクト: SomberNight/electrum
    def requestImage(self, qstr, size):
        self._logger.debug('QR requested for %s' % qstr)
        qr = qrcode.QRCode(version=1, border=2)
        qr.add_data(qstr)

        # calculate best box_size
        pixelsize = min(self._max_size, 400)
        modules = 17 + 4 * qr.best_fit()
        qr.box_size = math.floor(pixelsize / (modules + 2 * 2))

        qr.make(fit=True)

        pimg = qr.make_image(fill_color='black', back_color='white')
        self.qimg = ImageQt.ImageQt(pimg)
        return self.qimg, self.qimg.size()
コード例 #18
0
    def plot_pic(self, dat='points', picture=None):
        self.read_from_table()

        width = self.plot.width()
        height = self.plot.height()

        if not picture:
            fit_templ = self.textEdit_2.toPlainText()
            picture = self.data_fit.prepare_plot(dat, width, height, fit_templ)

        picture0 = QtGui.QPixmap.fromImage(ImageQt.ImageQt(picture))

        picture = picture0.scaled(width, height, QtCore.Qt.KeepAspectRatio,
                                  QtCore.Qt.SmoothTransformation)
        self.plot.setPixmap(picture)
コード例 #19
0
    def showPicture(self):
        # path, _ = QFileDialog.getOpenFileName(self, '选择图片', 'D:\Python\kears-yolov3-dev\OpenCVtest',
        #                                       'Image files(*.jpg *.gif *.png)')
        # img = Image.open(path)
        # r_image = self.yolo.detect_image(img)  # r_image 为  PIL    图片数据格式

        image = Image.open(
            'D:\Python\kears-yolov3-dev\OpenCVtest\huajuan1111.jpg')
        r_image = self.yolo.detect_image(image)

        qim = ImageQt(r_image)  # PIL   ->     Pixmap    格式转换
        pix = QtGui.QPixmap.fromImage(qim)

        self.PhotoLabel.setPixmap(pix)  # 图像更新到UI上
        self.PhotoLabel.setScaledContents(True)
コード例 #20
0
 def extractEmbedded(self):
     image = self.carrier2.extractPayload()
     try:
         image = Image.fromarray(image.rawData)
     except:
         return
     imageQt = QImage(ImageQt.ImageQt(image))
     pixmap = QPixmap.fromImage(imageQt)
     scene = QGraphicsScene()
     scene.addPixmap(pixmap)
     scene.dragMoveEvent = partial(self.dragMoveEvent)
     self.viewPayload2.setScene(scene)
     self.viewPayload2.fitInView(scene.sceneRect(),
                                 QtCore.Qt.KeepAspectRatio)
     self.viewPayload2.show()
コード例 #21
0
    def execute(self, x, y):

        img_qt = ImageQt.ImageQt(self.img)
        pix_map = QPixmap.fromImage(img_qt)
        painter = QPainter(pix_map)
        painter.setFont(self.root.curr_font)
        painter.setPen(QColor(self.root.curr_color))
        painter.drawText(x, y, self.root.ui.text_edit.text())
        painter.end()

        q_img = pix_map.toImage()
        buffer = QBuffer()
        buffer.open(QBuffer.ReadWrite)
        q_img.save(buffer, "PNG")
        self.root.scene.new_layer_img = Image.open(io.BytesIO(buffer.data()))
コード例 #22
0
    def toQImage(self, image):
        if 'Celeb' in self.dataset.name:
            mode = 'RGB'
        else:
            mode = 'L'

        img = self.dataset.transform2display(image)
        pilimage = Image.fromarray(np.uint8(img * 255), mode)
        imageq = ImageQt.ImageQt(pilimage)
        qimage = QImage(imageq)
        pix = QPixmap(qimage)

        pix = pix.scaled(2 * self.image_size, 2 * self.image_size)

        return pix
コード例 #23
0
    def show_image(self):
        # show image
        # im = Image.open(self.raw_imgs[self.page])
        # im = im.convert("RGBA")
        # im.thumbnail((450, 450), Image.ANTIALIAS)
        if not self.raw_imgs:
            QMessageBox.information(self, 'Fail', 'No image selected.')
            return
        im = self.raw_imgs[self.page]
        img = ImageQt.ImageQt(im)
        qimg = QPixmap.fromImage(img)
        self.imgLabel_raw.setPixmap(qimg)
        self.imgLabel_raw.resize(1, 1)

        # show labeld image
        if len(self.detect_imgs) > self.page:
            self.labeled_img = self.detect_imgs[self.page]
            # convert PIL to Qimage
            img = ImageQt.ImageQt(self.labeled_img)
            img = QPixmap.fromImage(img)
            self.imgLabel_detect.setPixmap(img)
            self.imgLabel_detect.resize(1, 1)
        if not self.detect_imgs:
            self.imgLabel_detect.clear()
コード例 #24
0
    def loadImage(self):
        try:
            image = Image.open(self.path)

        except FileNotFoundError:  # TODO: exception handler
            pass

        else:
            if image.width > self.IMAGE_MAX_WIDTH:
                Util.proportionalThumbnail(image, width=self.IMAGE_MAX_WIDTH)

            if image.height > self.IMAGE_MAX_HEIGHT:
                Util.proportionalThumbnail(image, height=self.IMAGE_MAX_HEIGHT)

            self.image = ImageQt.ImageQt(image)
コード例 #25
0
ファイル: helloworld.py プロジェクト: VanNamMan/PyQt_Form
    def showImage(self,frame,pic):
        h,w = pic.shape[0],pic.shape[1]
        hFrame,wFrame = frame.height(),frame.width()
        img = cv2.resize(pic,(wFrame,hFrame))

        if len(pic.shape) == 2:
            qPix = QPixmap.fromImage(ImageQt.ImageQt(misc.toimage(img)))
            
        else:
            ch = 3
            img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
            qImg = QImage(img.data,wFrame,hFrame,ch*wFrame,QImage.Format_RGB888)
            qPix = QPixmap(qImg)
            
        frame.setPixmap(qPix)
コード例 #26
0
    def refreshImage(self):

        colors = ('darkred', 'orangered', 'goldenrod', 
            'darkgreen', 'darkblue', 'blueviolet',
            'red','orange','yellow','green','blue','violet')

        if self.data_loaded:
            plane = np.take(self.volume,
                 self.slider.value(),
                 axis=self.current_view)
            if self.current_view == 2:
                plane = plane.T
            im8 = Image.fromarray(plane)            
        else:
            im8 = Image.fromarray(np.ones((1024,1024),dtype='uint8')*255)
            
        imQt = QImage(ImageQt.ImageQt(im8))
        imQt = imQt.convertToFormat(QImage.Format_RGB16)

        #print(self.current_view)
        #print(self.slider.value())
           
        if self.data_loaded:
            for idx, row in self.annotations.iterrows():

                if self.current_view == 0:
                    shouldDraw = row.AP == self.slider.value()
                    x = row.ML
                    y = row.DV
                elif self.current_view == 1:
                    shouldDraw = row.DV == self.slider.value()
                    x = row.ML
                    y = row.AP
                elif self.current_view == 2:
                    shouldDraw = row.ML == self.slider.value()
                    x = 1023 - row.AP
                    y = row.DV

                if shouldDraw:
                    color = QColor(self.color_map[row.probe_name])
                    
                    for j in range(x-10,x+10):
                        for k in range(y-10,y+10):
                            if pow(j-x,2) + pow(k-y,2) < 20:
                                imQt.setPixelColor(j,k,color)

        pxmap = QPixmap.fromImage(imQt).scaledToWidth(800).scaledToHeight(800)
        self.image.setPixmap(pxmap)
コード例 #27
0
    def display_image(self):
        fps = ueye.DOUBLE()
        ueye.is_GetFramesPerSecond(self.hCam, fps)
        timeout = int((5 / fps) * 1000)
        h_event = None
        if platform.system() == 'Windows':
            h_event = win32event.CreateEvent(None, False, False, None)
            self.event = ueye.HANDLE(int(h_event))
            ueye.is_InitEvent(self.hCam, self.event, self.frame_event_id)
        ueye.is_EnableEvent(self.hCam, self.frame_event_id)

        while True:
            ret = None
            if not self.capturing:
                break
            if platform.system() == 'Windows':
                ret = win32event.WaitForSingleObject(h_event, timeout)
            elif platform.system() == 'Linux':
                ret = ueye.is_WaitEvent(self.hCam, self.frame_event_id,
                                        timeout)

            if ret == 0:
                converted_image_data = self.convert_image_data()

                self.image_data_copy = (
                    ueye.CHAR *
                    int(self.img_data.width * self.img_data.height * 3))()
                ueye.is_CopyImageMem(
                    hCam=self.hCam,
                    pcSource=converted_image_data.memory_pointer,
                    nID=converted_image_data.memory_id,
                    pcDest=self.image_data_copy)
                bytes_per_pixel = 3
                self.image_data_copy = numpy.reshape(
                    self.image_data_copy,
                    (int(self.img_data.height), int(
                        self.img_data.width), bytes_per_pixel))
                self.image_data_copy = self.image_data_copy.view(numpy.uint8)
                self.pil_image = Image.fromarray(self.image_data_copy)
                self.graphics_scene.clear()
                self.width, self.height = self.pil_image.size
                self.qt_image = ImageQt.ImageQt(self.pil_image)
                self.pix_map = QPixmap.fromImage(self.qt_image)
                self.graphics_scene.addPixmap(self.pix_map)
                self.graphics_view.fitInView(
                    QRectF(0, 0, self.width, self.height), Qt.KeepAspectRatio)
                self.graphics_scene.update()
                app.processEvents()
コード例 #28
0
ファイル: UI.py プロジェクト: Team1541/SWProject
    def set_table_view(self, index):
        from operator import itemgetter
        from copy import deepcopy
        self.S2_tableWidget.clearContents()

        def item_make(string, flag):
            _item = QtWidgets.QTableWidgetItem(string)
            if flag is True:
                _item.setFlags(QtCore.Qt.ItemIsSelectable
                               | QtCore.Qt.ItemIsEditable
                               | QtCore.Qt.ItemIsEnabled)
            else:
                _item.setFlags(QtCore.Qt.ItemIsSelectable
                               | QtCore.Qt.ItemIsEnabled)
            return _item

        from PIL import ImageQt
        table = self.S2_tableWidget
        file = self.file_list[index]
        symbols = self.Symbol_list[index]
        img = file['img']
        Remarks = file['path']
        cnt = 0
        table.setRowCount(0)

        temp_list = deepcopy(symbols)
        temp_list = sorted(temp_list,
                           key=lambda k: "".join(k['detail']),
                           reverse=True)

        for item in temp_list:
            table.insertRow(cnt)
            table.setRowHeight(cnt, 50)
            type = self.classes[item['type']]
            if item['detail'] is not None:
                detail = "".join(item['detail'])
            else:
                detail = "None"
            croped_img = img.crop(item['coord'])
            imgQ = ImageQt.ImageQt(croped_img)
            imgQ = imgQ.scaled(50, 50, QtCore.Qt.KeepAspectRatio)
            image = QtWidgets.QLabel()
            image.setPixmap(QtGui.QPixmap.fromImage(imgQ))
            table.setCellWidget(cnt, 0, image)
            table.setItem(cnt, 1, item_make(type, False))
            table.setItem(cnt, 2, item_make(detail, True))
            table.setItem(cnt, 3, item_make(Remarks, False))
            cnt += 1
コード例 #29
0
    def painting(self, image, x, y, w, h, color):
        img = copy.deepcopy(image)
        a = img.load()

        b = color.name()[1:]
        h1, h2, h3 = '0x' + b[0:2], '0x' + b[2:4], '0x' + b[4:6]
        b = (int(h1, 16), int(h2, 16), int(h3, 16))

        for i in range(x, x + w):
            for j in range(y, y + h):
                a[i, j] = b

        pixmap = QPixmap.fromImage(ImageQt.ImageQt(img))
        pixmap.detach()
        del a
        return (img, pixmap)
コード例 #30
0
ファイル: mesg_box.py プロジェクト: 191078834/fruit_pweight
 def create_order_fail(self):
     im = Image.open(self.img_path)
     im = im.convert('RGBA')
     draw = ImageDraw.Draw(im)
     font = ImageFont.truetype(self.size_font_path, size=60, index=0)
     text1 = "SORRY当前订单创建失败"
     text2 = "请您稍后重试"
     draw.text((600, 590), text1.decode('utf-8'), fill=(0, 0, 0), font=font)
     draw.text((600, 650), text2.decode('utf-8'), fill=(0, 0, 0), font=font)
     # im.resize((1920, 1080))
     fruit_img = ImageQt.ImageQt(im)
     qimg = QtGui.QImage(fruit_img)
     fruit_img = QtGui.QPixmap.fromImage(qimg)
     pixmap = QtGui.QPixmap(fruit_img)
     scaredPixmap = pixmap.scaled(1920, 1080, QtCore.Qt.IgnoreAspectRatio)
     self.background_img.setPixmap(scaredPixmap)