如何更改Krita中的像素

2024-06-16 12:45:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为Krita编写python脚本,该脚本将反转当前层中的颜色。 我没有使用现有的过滤器,所以我可以使用它作为编写其他过滤器的样板

from krita import *;
width= Krita.instance().activeDocument().width();
height= Krita.instance().activeDocument().height();

l= Krita.instance().activeDocument().activeNode(); # get current layer
data= l.pixelData(0,0,width,height); # get pixels as QByteArray

for x in range(width):
    for y in range(height):
        for c in range(3):
            data[4*(y*width+x) + c] = 0xff - data[4*(y*width+x) + c];

l.setPixelData( data, 0, 0, width, height ); # copy back to image
Krita.instance().activeDocument().refreshProjection(); # refresh

我犯了个错误 ValueError: invalid literal for int() with base 10: b'\xff'

如果我尝试将一个通道设置为0xFF

data[4*(y*width+x) + c] = 0xff;

我犯了个错误 TypeError: 'QByteArray' object does not support item assignment

那么我如何改变像素的值呢


Tags: instancein脚本过滤器fordataget颜色