.
This commit is contained in:
parent
0befd1d9bd
commit
c89005aed0
@ -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))
|
||||
@ -415,7 +417,7 @@ class CustomPreview(DockWidget):
|
||||
width = dim.width() - self.scrollArea.contentsMargins().top() * 2
|
||||
height = dim.height() - self.scrollArea.contentsMargins().top() * 2
|
||||
previewImage = previewImage.scaled(width, height, Qt.KeepAspectRatio, Qt.SmoothTransformation)
|
||||
previewImage = previewImage.mirrored(canvas.mirror(), 0) #type: QImage
|
||||
previewImage = previewImage.mirrored(canvas.mirror(), 0) # type: QImage
|
||||
if self.rot:
|
||||
rot = canvas.rotation()
|
||||
transform = QTransform()
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user