diff options
| author | DH4 | 2017-06-06 10:14:39 -0500 |
|---|---|---|
| committer | DH4 | 2017-06-06 10:14:39 -0500 |
| commit | 231af74ea2b247bd73fcdfc44657b7fea2ab1620 (patch) | |
| tree | 0ac0d11a5cdd0b70ed4e82b55cae80db76078cc2 /preview_thread.py | |
| parent | 0948afd6e8b0cf29cf4bdf570e48350caa225c0a (diff) | |
Code cleanup
Diffstat (limited to 'preview_thread.py')
| -rw-r--r-- | preview_thread.py | 91 |
1 files changed, 45 insertions, 46 deletions
diff --git a/preview_thread.py b/preview_thread.py index 04683ae..d54dba5 100644 --- a/preview_thread.py +++ b/preview_thread.py @@ -9,53 +9,52 @@ import numpy import os from copy import copy + class Worker(QtCore.QObject): - imageCreated = pyqtSignal(['QImage']) - - def __init__(self, parent=None, queue=None): - QtCore.QObject.__init__(self) - parent.newTask.connect(self.createPreviewImage) - parent.processTask.connect(self.process) - self.core = core.Core() - self.queue = queue - self.core.settings = parent.settings - self.stackedWidget = parent.window.stackedWidget - self.background = Image.new("RGBA", (1920, 1080),(0,0,0,0)) - self.background.paste(Image.open(os.path.join(os.path.dirname(os.path.realpath(__file__)),"background.png"))) - - - - @pyqtSlot(str, list) - def createPreviewImage(self, components): - # print('worker thread id: {}'.format(QtCore.QThread.currentThreadId())) - dic = { - "components": components, - } - self.queue.put(dic) - - @pyqtSlot() - def process(self): - try: - nextPreviewInformation = self.queue.get(block=False) - while self.queue.qsize() >= 2: + imageCreated = pyqtSignal(['QImage']) + + def __init__(self, parent=None, queue=None): + QtCore.QObject.__init__(self) + parent.newTask.connect(self.createPreviewImage) + parent.processTask.connect(self.process) + self.core = core.Core() + self.queue = queue + self.core.settings = parent.settings + self.stackedWidget = parent.window.stackedWidget + self.background = Image.new("RGBA", (1920, 1080), (0, 0, 0, 0)) + self.background.paste(Image.open(os.path.join( + os.path.dirname(os.path.realpath(__file__)), "background.png"))) + + @pyqtSlot(str, list) + def createPreviewImage(self, components): + dic = { + "components": components, + } + self.queue.put(dic) + + @pyqtSlot() + def process(self): try: - self.queue.get(block=False) + nextPreviewInformation = self.queue.get(block=False) + while self.queue.qsize() >= 2: + try: + self.queue.get(block=False) + except Empty: + continue + + width = int(self.core.settings.value('outputWidth')) + height = int(self.core.settings.value('outputHeight')) + frame = copy(self.background) + frame = frame.resize((width, height)) + + components = nextPreviewInformation["components"] + for component in reversed(components): + frame = Image.alpha_composite( + frame, component.previewRender(self)) + + self._image = ImageQt(frame) + self.imageCreated.emit(QtGui.QImage(self._image)) + except Empty: - continue - - width = int(self.core.settings.value('outputWidth')) - height = int(self.core.settings.value('outputHeight')) - frame = copy(self.background) - frame = frame.resize((width,height)) - - components = nextPreviewInformation["components"] - for component in reversed(components): - #newFrame = Image.alpha_composite(frame,) - frame = Image.alpha_composite(frame,component.previewRender(self)) - - self._image = ImageQt(frame) - self.imageCreated.emit(QtGui.QImage(self._image)) - - except Empty: - True + True |
