This commit is contained in:
user 2025-03-08 06:53:20 +01:00
parent 0befd1d9bd
commit c89005aed0
2 changed files with 15 additions and 10 deletions

View File

@ -2,19 +2,21 @@ import math
import random
import re, time, datetime
import numpy
import io
import cv2
from PIL import Image
from pathlib import Path
import gmic
import json
from skimage.color import rgb2lab, rgba2rgb
import qimage2ndarray
from PyQt5.QtCore import Qt, pyqtSignal, QEvent
from PyQt5.QtCore import Qt, pyqtSignal, QEvent, QBuffer
from PyQt5.QtGui import QImage, QPainter, QPixmap, QIcon, QInputEvent, QTabletEvent, QMouseEvent, \
QHelpEvent, QPaintEvent, QTransform
QHelpEvent, QPaintEvent, QTransform, QPixelFormat
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QFileDialog, QLabel, QSizePolicy, \
QScrollArea, QAction, QToolButton, QMdiArea, QAbstractScrollArea, QCheckBox, QComboBox, QLineEdit
from PyQt5.QtCore import QTimer
from PyQt5.QtCore import QTimer, QByteArray
from krita import Krita, DockWidget, DockWidgetFactory, DockWidgetFactoryBase, Extension
from .util import dump_tablet_event, dump_mouse_event, get_qview, rgb2hsv
@ -405,7 +407,7 @@ class CustomPreview(DockWidget):
if mirror:
previewImage = doc.projection(int(((doc.width()) - o_w - c_x)), c_y, int(kis_canvas_controller.width() * factor), o_h)
else:
previewImage = doc.projection(c_x, c_y, o_w, o_h)
previewImage = doc.projection(c_x, c_y, o_w, o_h) # type: QBuffer
# previewImage = doc.projection(c_x, c_y if canvas.rotation() != 180 else int(((doc.height()) - o_h - c_y)), o_w, o_h)
# pprint(("flipped:", self.flipped, "locked:", self.locked, "canvas.mirror:", mirror))
# pprint(("o_w:", o_w, "o_h:", o_h, "c_x", c_x, "c_y", c_y))
@ -425,8 +427,10 @@ class CustomPreview(DockWidget):
choice = self.dropdown.currentText()
data = self.dropdown.currentData()
if choice != "Normal":
im = Image.fromqimage(previewImage)
buffer = QBuffer()
buffer.open(QBuffer.ReadWrite)
previewImage.save(buffer, "PNG")
im = Image.open(io.BytesIO(buffer.data()))
num_im = numpy.array(im)
if choice == "NTSC":
@ -490,9 +494,9 @@ class CustomPreview(DockWidget):
ref = g.to_numpy_helper(astype=numpy.uint8, interleave=True, squeeze_shape=True)
ref = numpy.swapaxes(ref, 0, 1)
img = Image.fromarray(ref)
qimg = img.toqimage()
qimg.scaled(width, height, Qt.KeepAspectRatio, Qt.SmoothTransformation)
qimg = qimage2ndarray.array2qimage(ref)
qimg.scaled(width, height)
previewImage = qimg
resultImage = qimg.convertToFormat(QImage.Format_ARGB32_Premultiplied)
resultImage.fill(0)

View File

@ -3,3 +3,4 @@ gmic==2.9.4-a1
scikit-image==0.25.2
numpy==2.2.3
pillow==11.1.0
qimage2ndarray==1.10.0