Posts

Showing posts with the label krita

Krita更改lineart线宽

Image
  Thickness of stroke - Support and Advice / Beginner's Questions - Krita Artists (krita-artists.org) 添加白色背景 -> blur/gaussian blur(模糊) -> Threshold (更改线宽)-> Blur(再次模糊以减少锯齿) ->Mean Removal(抵消上步的模糊)-> Color to Alpha(透明化线条)

Krita笔刷设置

 Opacity 和 Flow: Opacity在连续绘制内(不抬笔)时叠加不会超过透明度(最大透明度为此时的opacity,如果设置了跟随笔压,则最大透明度是笔压-透明度曲线设置的最大值) Flow在连续绘制内可以无限叠加透明度到100% 自定义笔刷icon: 打开笔刷kpp文件,直接绘制更改即可,或自己绘制笔刷icon库使用(200x200px) 传感器sensor Sensors — Krita Manual 5.0.0 documentation 压力 Pressure 压感笔的压力变化,包括压力的增大和减小 压力 (仅增大) PressureIn 只感应压感笔的压力增大数值,无视压力减小数值。这意味着在绘制一道笔画的过程中,压力只能增大,不能减小,直至压感笔离开数位板为止。 X 轴倾斜 X-tilt 压感笔笔身的倾斜角度。不是所有压感笔都有此传感器。 Y 轴倾斜 感应压感笔笔身的倾斜角度。不是所有压感笔都有此传感器。 笔身指向 Tilt-direction 感应压感笔的笔身指向。笔身向 12 点钟方向倾斜时 (笔尖指向执笔者) 为 0°,笔身顺时针旋转 90° 时为 +90°,笔身逆时针旋转 90° 时为 -90°,角度在 -180° 到 +180° 的区间变化。 笔身倾角 Tilt-elevation 感应压感笔的笔身倾角。0° 为笔身平放,90° 为笔身直立。 速度 Speed 感应压感笔的绘制速度。 笔画方向 Drawing Angle 感应笔画的方向。勾选 锁定角度Lock 后,笔画方向将被锁定为每笔开始时的角度。勾选 转角平滑Fan Corners 后,传感器将尝试在笔画转弯对转角处的角度进行平滑。它的滑动条可以控制平滑的阈值角度。 角度偏移 Angle Offset 滑动条可以为当前角度附加一定的偏移量。 笔身旋转 Rotation 感应压感笔笔身的旋转。不是所有压感笔都有此传感器。 距离 Distance 感应笔刷移动的距离。距离以像素为单位计算。默认勾选“循环”选项,会在到达设定最大值后重新开始计算距离。 时间 Time 感应笔刷开始绘制后的时间长度。 随机度 (笔尖印迹) Fuzzy (Dab) 输出一定的随机度,此项对一条笔画内部的每个笔尖印迹生效。此传感器就是一般意义上的“随机”。 随机度 (笔画) Fuzzy Stroke ...

Krita创建自定义插件(三)-图层的导出

Node--krita内的各种图层,滤镜和组都属于node *对图层node进行删除等其他操作后如果文档画面没有更新吗,要对文档调用refreshProjection(),否则可能和实际图像数据对不上。   导出图片infoObject可选参数 png alpha: bool (True or False) compression: int (1 to 9) forceSRGB: bool (True or False) indexed: bool (True or False) interlaced: bool (True or False) saveSRGBProfile: bool (True or False) transparencyFillcolor: rgb (Ex:[255,255,255]) jpeg baseline: bool (True or False) exif: bool (True or False) filters: bool (['ToolInfo', 'Anonymizer']) forceSRGB: bool (True or False) iptc: bool (True or False) is_sRGB: bool (True or False) optimize: bool (True or False) progressive: bool (True or False) quality: int (0 to 100) saveProfile: bool (True or False) smoothing: int (0 to 100) subsampling: int (0 to 3) transparencyFillcolor: rgb (Ex:[255,255,255]) xmp: bool (True or False) 关于JPEG的导出参数可以参考 Krita导出参数

Krita创建自定义插件(二)--插件界面

Image
krita插件主要使用pyqt组件来进行界面的绘制 Pyqt5 API krita插件可以使用pyqt5的功能,通常用的最多的是QtCore和QtWidgets组件,用来创建插件的用户界面。以及QtCore来进行一些数据操作 QtWidgets QtGui QtCore QtXML PyQt --  Qt for Python Modules — Qt for Python Qt 4.8: Widgets and Layouts (utexas.edu) Qt 4.8: Layout Management (utexas.edu) 首先script文件头引用pyqt的相关库 from PyQt5.QtWidgets import (QDialog, QBoxLayout, QPushButton, QRadioButton, QSlider, QFormLayout, QButtonGroup, QFrame) Qt界面主要由QtWidgets.QWidget和 QtWidgets. QLayout组成。QWidget用来绘制相关组件,如按钮,标签,输入框等。QLayout用来对组件进行布局管理。 一个界面的例子(下面黑色字为QWidget,红色为QLayout) --QDialog(root)      |-- QBoxLayout     |      |--QLabel     |      |--QSlider      |-- QFormLayout           |--QPushButton          |--QLineEdit 创建的方法 dialog = QDialog() dialog_layout = QBoxLayout() dialog .setLayout( dialog_layout) 或者 dialog = QDialog() dialog_layout = QBoxLayout(dialog_layout) 添加action到自定义菜单 Creati...

Krita创建自定义插件(一)--创建hello world

基础教程 How to make a Krita Python plugin — Krita Manual 5.0.0 documentation Krita Scripting School scirpt API(所有函数都能在python script中使用, 即使前方标记#include*.h) API上方出现的架构图中的节点可以点击查看 libkis: Krita Scripting and Plugin Wrapper Library krita源码(查看.h头文件,下方有classes,点进去有api参考) libkis Directory Reference (kde.org) Krita源码(编写插件一般用不到) Introduction to Hacking Krita Graphics / Krita · GitLab (kde.org) krita内有三种插件,单一script文件,extension和docker。extension适用于较复杂的界面和平时无需查看的插件,如插件编辑器和批量导出。Docker用于平时一直显示的插件,如特制的颜色选择器。 *krita不使用github进行拉去请求等操作,GitHub上面只是镜像而已 krita的插件使用python语言编写,熟悉的话非常好上手 python基础教程: Python Tutorial (w3schools.com) 共享或销售插件(Python 脚本) 克里塔可以用用C++或 Python 书写的插件来扩展。扩展 API 是 Krita 不可分割的一部分,并根据 GNU 通用公共许可证获得许可。这意味着,如果您分发了 Krita 插件,它也必须根据 GNU GPL 进行共享。您可以收取下载费用,但您无法阻止其他人分发插件:您的客户将拥有 GNU GPL 保障的所有权利。

Krita Plugin保存自定义数据到文件

Is there any way to save an array or dictionary directly into/with a krita document? - Develop / Plugins Development - Krita Artists (krita-artists.org) Document Class Reference (kde.org) from krita import * import re fileName= "/home/grum/test.kra" print( '================================================= EXAMPLE 1 =================================================' ) doc = Krita.instance().createDocument( 300 , 300 , "Test" , "RGBA" , "U8" , "" , 300.0 ) data1= """gam_p1s1=0.5,0.1,0.9,0.5,0.5,0.9,0.1,0.5 gam_p1s3=0.5,0.1,0.84641,0.7,0.15359,0.7 gam_p1s4=0.5,0.1,0.9,0.5,0.5,0.9,0.1,0.5 gam_p2s1=0.5,0.1,0.675,0.275,0.5,0.45,0.325,0.275,0.5,0.55,0.675,0.725,0.5,0.9,0.325,0.725 gam_p3s3=0.5,0.5,0.5,0.15359,0.8,0.32679,0.8,0.67321,0.5,0.84641,0.2,0.67321,0.2,0.32679""" doc.setAnnotation( 'my_plugin_reference_annotation_key1' , "my annotation description" , QByteArray(data1.en...