diff --git a/contributors_manual/krita_manual_readme.rst b/contributors_manual/krita_manual_readme.rst index e33b87e66..b11fd89eb 100644 --- a/contributors_manual/krita_manual_readme.rst +++ b/contributors_manual/krita_manual_readme.rst @@ -1,294 +1,294 @@ .. meta:: :description: Contributor's Readme for the Krita Manual .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Micheal Abrahams :license: GNU free documentation license 1.3 or later. .. Website shorthands. Sphinx/reStructuredText prefers it if you use shorthands when repeating websites. .. _phabricator : https://phabricator.kde.org .. _KDE_gitlab : https://invent.kde.org/ .. _Manual Project Workboard : https://phabricator.kde.org/project/view/135/ .. _repository : https://invent.kde.org/websites/docs-krita-org/tree/master .. _bugzilla : https://bugs.kde.org/ .. _krita_manual_contributors_guide: =============================== Krita Manual Contribution Guide =============================== Welcome to our new documentation! We've moved from userbase.kde.org to docs.krita.org, then we moved from Mediawiki to Sphinx. This latter change is because Sphinx allows us to handle translations much better than mediawiki can. The manual will include: A reference manual for Krita This one is probably what everyone is expecting when they type in docs.krita.org. Dry, basic, 'what does this button do' type of information. General concept tutorials. We've found over the past two years that for certain types of users, a reference manual, even with some examples, just isn't enough. The manual should also provide fast and concise explanations for things, and provide a basic workflow for preparing an image for the web. We also have found that certain concepts, such as color management and layer handling are far more advanced in Krita than the average artist is used to. Krita is free and many of its users will not have formal training in digital artwork. So there is no pre-existing artist-focused knowledge on how to use color management or filter layers. In addition there are systems that are unique to Krita, for example the brush system, the transform masks, the alpha inheritance and the perspective assistants. Finally, there are users who aren't familiar with even standard painting workflows, and are not flexible enough to understand how to port a tutorial for Sai or Photoshop to Krita. A list of known tutorials and video tutorials Apparently, one of the great things about Krita's team is how we connect with artists and acknowledge that they're doing cool stuff. The same should count for tutorials, especially because there are ways of using Krita and ways of approaching painting that are unique and we should encourage people to share their knowledge. Contributor's Manual Krita is (free) open source software, which makes us effectively a community project, with dozens of volunteers pitching in to make it better. This, of course, requires we keep track of manuals and howto's for new volunteers to come in and help us. The various places we've done this have been rather spread out, and are often under maintained. The contributor's manual is an attempt to solidify all the information. It is therefore very technical in places. krita.org tutorials There have been a bunch of tutorials on the krita.org and the krita-foundation.tumblr.com, the former focusing on explaining how to use a new feature and the later stimulated by user request. FAQ This one is already online and a merger of the different FAQs that we had. It's currently being translated and we hope to keep this one the primary one to update. For first timers ---------------- Unlike Mediawiki, Sphinx works more like how we write code for Krita. First things first, you will want to talk to us! For this you can either go to the `IRC on krita.org (#krita on freenode.org) `_, or, more importantly, make an account at `identity.kde.org `_. The account you make at identity can be used to both access the forum as well as the `phabricator`_, where we organise Krita development. If you have no idea where to begin, make a Kde identity account and make a post on `the forum `_. Sphinx works by writing simple text files with reStructuredText mark up, and then it takes those text files and turns them into the manual. We keep track of changes in the manual by putting them into a version control system called :program:`Git`. .. _making_changes_sphinx: Making changes ~~~~~~~~~~~~~~ Because we use Git, there's only a few people who can put things into the version control system, so if you want to make changes you will need to put it up for review. If you are not familiar with Git ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Get the source text from the `repository`_. Save a copy of the text as it existed originally. 2. Modify it. 3. Tools to check whether your modifications work. You can use the `Online Sphinx Editor `_ to check if your changes don't break 4. Bundle up the items into a zip. Put all the files you changed into a zip file. This also includes the images if you're changing them. Try to keep the filenames the same, that's easier for us to copy over. 5. Upload the zip on phabricator. 1. First, go to phabricator.kde.org and log in with your identity account. 2. Go to the `Manual Project Workboard`_ and there create a new task. 3. Explain what you did and use drag and drop to move the zip file to the input textbox. That should upload it. We will also need the email address you associate with your kde identity account. 4. Then, if the changes are accepted, someone with commit access will unpack those files into the manual folder and push the differences using the mail address. Creating merge requests with gitlab ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This one is a bit technical, but much more comfortable for the manual maintainers. If you have a lot of changes you want to contribute, we recommend trying to follow these instructions. #. Get a KDE identity. #. Login to `KDE_gitlab`_. #. Go to the `repository`_ and press :guilabel:`fork`, and clone into the namespace of your nickname. #. You should be redirected to the fork of your repository now. Typically it's located at ``invent.kde.org/YOUR_KDE_LOGIN_NAME/docs-krita-org``. -#. Now, there's two options to edit your fork of the manual. +#. Now, there are two options to edit your fork of the manual. If you are comfortable with git, you can clone the repository locally with :guilabel:`git clone`. The repository page has the urls you can perform git clone from, and you can then push to your fork. The advantage of this is that you can use all the tools on your computer to edit these text files as well as build the manual locally to check for errors. If you are not comfortable with git, gitlab has the web IDE. To access this, go to :menuselection:`repository --> files` and there click :guilabel:`web IDE`. Find the files and make your changes. Then when done press 'commit', then :guilabel:`stage all changes` and write a nice message in the commit section with the changes your made. The downside is that right now there's no way to tell if you made errors with the mark up using this method. #. Finally, go to the original repository, and then to merge request. Select the fork that you made your changes in and make a merge request. Label the request with ``Needs Review``, that way the manual maintainers know your changes are ready to be reviewed and possibly merged. #. You might get feedback on your merge request if it has mistakes. Just fix the mistakes in your branch, gitlab will update the merge request, and then mark the merge request with ``Ǹeeds Review`` again. For more detailed information, check out :ref:`forking_gitlab` in the technical section. General philosophy ------------------ This is for determining what is an appropriate writing style. A writing style, whether we consider its practical or aesthetic qualities, is usually underpinned by a goal or general philosophy. What do we want to achieve with the manual, and for whom is the manual meant? Demographics and target audience(s) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We cannot talk about a demographic in the sense that we know all Krita users are 55 year old men. Krita is used by a hugely different amount of people, and we are actually kind of proud that we have such a varied userbase. Despite that, we know a couple of things about our users: * They are artists. This is explicitly the type of users that we target. * Therefore, we know they prefer pretty pictures. * They are visual. * They are trying to achieve pretty pictures. Therefore, the implicit goal of each page would be to get the feature used for pretty pictures. Other than that, we've observed the following groups: * High-school and college students trying out drawing software for illustrations. These usually have some previous experience with drawing software, like Painttool Sai or Photoshop, but need to be introduced to possibilities in :program:`Krita`. This group's strength is that they share a lot of information with each other like tips and tricks and tutorials. * Professionals, people who earn their money with digital drawing software. The strength of this group is that they have a lot of know-how and are willing to donate to improve the program. These come in two types: * Non technical professionals. These are people who do not really grasp the more mathematical bits of a piece of software, but have developed solid workflows over the years and work with software using their finely honed instincts. These tend to be illustrators, painters and people working with print. * Technical professionals. These are people who use :program:`Krita` as part of a pipeline, and care about the precise maths and pixel pushing. These tend to be people working in the games and VFX industry, but occasionally there's a scientist in there as well. * Adult and elderly hobbyists. This group doesn't know much about computers, and they always seem to get snagged on that one little step missing from a tutorial. Their strength as a group is that they adapt unconventional workflows from real life that the student wouldn't know about and the professional has no time for and create cool stuff with that, as well as that they have a tempering effect on the first group in the larger community. From these four groups... * there's only one that is technical. Which is why we need the concept pages, so that we can create a solid base to write our manual texts on top of. * three of them likely have previous experience with software and may need migration guides and be told how. * two of them need to know how to get Krita to cooperate with other software. * two of them have no clue what they are doing and may need to be guided through the most basic of steps. From that we can get the following rules: General Writing ~~~~~~~~~~~~~~~ Use American English if possible. We use American English in the manual, in accordance to Krita's UI being American English by default. Keep the language polite, but do not use academic language. As a community, we want to be welcoming to the users, so we try to avoid language that is unwelcoming. Swearing is already not condoned by KDE, but going to the far other end, an academic style where neither writer nor reader is acknowledged might give the idea that the text is far more complex than necessary, and thus scare away users. Avoid using gifs (open for debate) The reason is that people with epilepsy may be affected by fast moving images. Similarly, gifs can sometimes carry too much of the burden of explanation. If you can't help but use gifs, at the least notify the reader of this in the introduction of the page. Keep it translation compatible This consists of using svg for infographics, and using the appropriate markup for a given text. Regarding photos and paintings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * I would like to discourage photos and traditional paintings in the manual if they are not illustrating a concept. The reason is that it is very silly and a little dishonest to show Rembrandt's work inside the Krita GUI, when we have so many modern works that were made in Krita. All of the pepper&carrot artwork was made in Krita and the original files are available, so when you do not have an image handy, start there. Photos should be avoided because Krita is a painting program. Too many photos can give the impression Krita is trying to be a solution for photo retouching, which really isn't the focus. * Of course, we still want to show certain concepts in play in photos and master paintings, such as glossing or indirect light. In this case, add a caption that mentions the name of the painting or the painter, or mentions it's a photograph. * Photos can still be used for photobashing and the like, but only if it's obviously used in the context of photobashing. Regarding images in general ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Avoid text in the images and use the caption instead. You can do this with the figure directive. * If you do need to use text, make either an SVG, so the text inside can be manipulated easier, or try to minimize the amount of text. * Try to make your images high quality/cute. Let's give people the idea that they are using a program for drawing! * Remember that the manual is licensed under GDPL 1.3, so images submitted will be licensed under that. In the case of CC-By-Sa/CC-By ensure that the file gets attributed appropriately through a figure caption. Needless to say, don't submit images that cannot be licensed under either license. Protocol -------- So here we line out all the boring workflows. Tagging and Branches ~~~~~~~~~~~~~~~~~~~~ Adding and removing text will be done in the ``draft`` branch. Proofreading results for old pages will be considered as bugfixes and thus will go into the ``master`` branch and merged into the ``draft`` branch as necessary. Before the ``draft`` branch is merged for a given release: * The master branch will be tagged with the old version. * The draft branch is first double checked that it has updated version number and updated epub cover. The ``draft`` branch will not be merged until the day before a release to keep the pages intact for long enough. Each release will have a version of the epub uploaded as part of the release process. .. Where do we get the POT files from? Even the translated versions? Removing Pages ~~~~~~~~~~~~~~ If a feature is removed in a certain version, the corresponding pages. 1. Will first be marked deprecated. This can be done as so:: .. deprecated:: version number Text to indicate what the user should do without this feature. 2. Will be linked on a page called 'deprecated' 3. If the next version rolls around all the pages linked in the deprecated section will be removed. Adding Pages ~~~~~~~~~~~~ 1. Ensure that it is located in the right place. 2. Follow the :ref:`krita_markup_conventions` to ensure the page is formatted correctly. 3. Add the page to the TOC. 4. If the feature is new, add in versionadded:: .. versionadded:: version number optional something or the other. As with images, don't add text that you do not have permission to add. This means that text is either written by you, or you have permission to port it from the original author. The manual is GDPL 1.3+ so the text will be relicensed under that. Changing Pages ~~~~~~~~~~~~~~ If you fully rewrite a page, as opposed to proofreading it, the resulting page should be reviewed. If you change a page because a feature has changed, and you have commit access, the change can be pushed without review (unless you feel more comfortable with a review), but you should add:: .. versionchanged:: version number This and that changed. In all cases, check if you want to add yourself to the author field in the metadata section on top. Using deprecated, versionadded and versionchanged with the version number allows us to easily search the manual for these terms with grep: .. code:: bash grep -d recurse versionadded * --exclude-dir={_build,locale} Faulty pages ~~~~~~~~~~~~ If a page slips through the cracks, either... * Make a merge request per the :ref:`making_changes_sphinx` section. * Make a task at the `Manual Project Workboard`_. * Make a bug at `bugzilla`_ under the project Krita in the section 'documentation'. Proofreading ~~~~~~~~~~~~ There are two types of proofreading that needs to be done. The most important one is **reviewing changes people make**. You can do this on `KDE_gitlab`_ in two ways: 1. Reviewing merge requests You can help review merge requests. Request reviewing is usually done by programmers to find mistakes in each other's code, but because programming code is text based just like regular text, we can use this to check against typos as well! A merge request, is an amount of changes done in a document (added, removed) put into a machine readable file. When someone submits a review request (on system like gitlab or github this is a merge or pull request), people who maintain the original files will have to look them over and can make comments about things needing to change. This allows them to comment on things like typos, over-complicated writing but also things that are incorrect. After a patch has been accepted it can be pushed into the version control system. 2. Commenting on changes in the manual. Commenting changes happens after the fact. You can comment on a change by going to the commit message (from the repository page, go to history and then click on an entry), where you will be able to make comments on the changes made. In both cases, the interface consists of the difference being shown, with on the left the old version, and on the right the new version. Lines that have been added will be marked in green while lines that have been removed will be marked with red. You can click a speech bubble icon to add an 'inline' comment. The second major way the manual needs to be proofread is **over the whole file**. Many of the pages have only been checked for correctness but not for style and grammar. For this you will need to follow the :ref:`making_changes_sphinx` section, so that you can have full access to the pages and edit them. Translating ~~~~~~~~~~~ Translation of the manual is handled by the `KDE localization community `_. To join the translation effort, go to the localization site, select the list of `translation teams `_, select the language you wish to translate for, and follow the instructions on the team page to get in contact with fellow translators. The localization team has access to the PO files for this manual, which is a file type used by translation programs like POEdit and Lokalize. A translation team is able to work together on translating these files and uploading them to the translations SVN. A special script will then take the translations from the SVN and bring them to the manual section to be incorporated on a daily basis. Images can be translated if a translation team wants to provide their own images. All images in the image folder are by default for 'en'. When you want to translate a specific image, go into that folder and add another folder with your language code to add in the translated versions of images. So Sphinx will search for a dutch version of :file:`/images/Pixels-brushstroke.png` at :file:`/images/nl/Pixels-brushstroke.png` and for a dutch version of :file:`/images/dockers/Krita-tutorial2-I.1-2.png` in :file:`/images/dockers/nl/Krita-tutorial2-I.1-2.png`. Finished translations also need to be added to the build script to show up online. Translator teams which are confident in the state of their translation should contact the main Krita team via the kimageshop mailinglist(kimageshop@kde.org), or foundation@krita.org, to accomplish this. Other ----- For restructured text conventions, check :ref:`krita_markup_conventions` . diff --git a/reference_manual/blending_modes/binary.rst b/reference_manual/blending_modes/binary.rst index 4a8157a7a..ad9b30156 100644 --- a/reference_manual/blending_modes/binary.rst +++ b/reference_manual/blending_modes/binary.rst @@ -1,202 +1,202 @@ .. meta:: :description: Page about the binary blending modes in Krita: .. metadata-placeholder :authors: - Reptorian :license: GNU free documentation license 1.3 or later. .. index:: Binary .. _bm_cat_binary: Binary ------ Binary modes are special class of blending modes which utilizes binary operators for calculations. Binary modes are unlike every other blending modes as these modes have a fractal attribute with falloff similar to other blending modes. Binary modes can be used for generation of abstract art using layers with very smooth surface. All binary modes have capitalized letters to distinguish themselves from other blending modes. To clarify on how binary modes works, convert decimal values to binary values, then treat 1 or 0 as T or F respectively, and use binary operation to get the end result, and then convert the result back to decimal. .. warning:: Binary blending modes do not work on float images or negative numbers! So, don't report bugs about using binary modes on unsupported color space. .. index:: ! AND .. _bm_cat_AND: AND ~~~ Performs the AND operation for the base and blend layer. Similar to multiply blending mode. .. figure:: /images/blending_modes/binary/Blend_modes_AND_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **AND**. .. figure:: /images/blending_modes/binary/Blending_modes_AND_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **AND**. .. index:: ! CONVERSE .. _bm_CONVERSE: CONVERSE ~~~~~~~~ -Performs the inverse of IMPLIES operation for the base and blend layer. Similar to screen mode with blend layer and base layer inverted. +Performs the inverse of IMPLICATION operation for the base and blend layer. Similar to screen mode with blend layer and base layer inverted. .. figure:: /images/blending_modes/binary/Blend_modes_CONVERSE_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **CONVERSE**. .. figure:: /images/blending_modes/binary/Blending_modes_CONVERSE_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **CONVERSE**. -.. index:: ! IMPLIES -.. _bm_IMPLIES: +.. index:: ! IMPLICATION +.. _bm_IMPLICATION: -IMPLIES -~~~~~~~ +IMPLICATION +~~~~~~~~~~~ -Performs the IMPLIES operation for the base and blend layer. Similar to screen mode with base layer inverted. +Performs the IMPLICATION operation for the base and blend layer. Similar to screen mode with base layer inverted. .. figure:: /images/blending_modes/binary/Blend_modes_IMPLIES_map.png :align: center - Left: **Base Layer**. Middle: **Blend Layer**. Right: **IMPLIES**. + Left: **Base Layer**. Middle: **Blend Layer**. Right: **IMPLICATION**. .. figure:: /images/blending_modes/binary/Blending_modes_IMPLIES_Gradients.png :align: center - Left: **Base Layer**. Middle: **Blend Layer**. Right: **IMPLIES**. + Left: **Base Layer**. Middle: **Blend Layer**. Right: **IMPLICATION**. .. index:: ! NAND .. _bm_NAND: NAND ~~~~ Performs the inverse of AND operation for base and blend layer. Similar to the inverted multiply mode. .. figure:: /images/blending_modes/binary/Blend_modes_NAND_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NAND**. .. figure:: /images/blending_modes/binary/Blending_modes_NAND_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NAND**. .. index:: ! NOR .. _bm_NOR: NOR ~~~ Performs the inverse of OR operation for base and blend layer. Similar to the inverted screen mode. .. figure:: /images/blending_modes/binary/Blend_modes_NOR_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NOR**. .. figure:: /images/blending_modes/binary/Blending_modes_NOR_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NOR**. .. index:: ! NOT CONVERSE .. _bm_NOT_CONVERSE: NOT CONVERSE ~~~~~~~~~~~~ Performs the inverse of CONVERSE operation for base and blend layer. Similar to the multiply mode with base layer and blend layer inverted. .. figure:: /images/blending_modes/binary/Blend_modes_NOT_CONVERSE_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NOT CONVERSE**. .. figure:: /images/blending_modes/binary/Blending_modes_NOT_CONVERSE_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NOT CONVERSE**. .. index:: ! NOT IMPLICATION .. _bm_NOT_IMPLICATION: NOT IMPLICATION ~~~~~~~~~~~~~~~ Performs the inverse of IMPLICATION operation for base and blend layer. Similar to the multiply mode with the blend layer inverted. .. figure:: /images/blending_modes/binary/Blend_modes_NOT_IMPLICATION_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NOT IMPLICATION**. .. figure:: /images/blending_modes/binary/Blending_modes_NOT_IMPLICATION_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **NOT IMPLICATION**. .. index:: ! OR .. _bm_OR: OR ~~ Performs the OR operation for base and blend layer. Similar to screen mode. .. figure:: /images/blending_modes/binary/Blend_modes_OR_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **OR**. .. figure:: /images/blending_modes/binary/Blending_modes_OR_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **XOR**. .. index:: ! XOR .. _bm_XOR: XOR ~~~ Performs the XOR operation for base and blend layer. This mode has a special property that if you duplicate the blend layer twice, you get the base layer. .. figure:: /images/blending_modes/binary/Blend_modes_XOR_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **XOR**. .. figure:: /images/blending_modes/binary/Blending_modes_XOR_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **XOR**. .. index:: ! XNOR .. _bm_XNOR: XNOR ~~~~ Performs the XNOR operation for base and blend layer. This mode has a special property that if you duplicate the blend layer twice, you get the base layer. .. figure:: /images/blending_modes/binary/Blend_modes_XNOR_map.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **XNOR**. .. figure:: /images/blending_modes/binary/Blending_modes_XNOR_Gradients.png :align: center Left: **Base Layer**. Middle: **Blend Layer**. Right: **XNOR**. diff --git a/reference_manual/blending_modes/lighten.rst b/reference_manual/blending_modes/lighten.rst index 614db3104..d8fdf8fd5 100644 --- a/reference_manual/blending_modes/lighten.rst +++ b/reference_manual/blending_modes/lighten.rst @@ -1,327 +1,327 @@ .. meta:: :description: Page about the lighten blending modes in Krita: Color Dodge, Gamma Illumination, Gamma Light, Easy Dodge, Flat Light, Fog Lighten, Hard Light, Lighten, Lighter Color, Linear Dodge, Linear Light, P-Norm A, P-Norm B, Pin Light, Screen, Soft Light, Tint and Vivid Light. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Maria Luisac - Reptorian :license: GNU free documentation license 1.3 or later. .. _bm_cat_lighten: Lighten ------- Blending modes that lighten the image. .. index:: ! Color Dodge, Dodge .. _bm_color_dodge: Color Dodge ~~~~~~~~~~~ Similar to Divide. Inverts the top layer, and divides the lower layer by the inverted top layer. This results in a image with emphasized highlights, like Dodging would do in traditional darkroom photography. .. figure:: /images/blending_modes/lighten/Blending_modes_Color_Dodge_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color Dodge**. .. index:: ! Gamma Illumination .. _bm_gamma_illumination: Gamma Illumination ~~~~~~~~~~~~~~~~~~ Inverted Gamma Dark blending mode. .. figure:: /images/blending_modes/lighten/Blending_modes_Gamma_Illumination_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Gamma Illumination**. .. index:: ! Gamma Light .. _bm_gamma_light: Gamma Light ~~~~~~~~~~~ Outputs the upper layer as power of the lower layer. .. figure:: /images/blending_modes/lighten/Blending_modes_Gamma_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Gamma Light**. .. index:: ! Hard Light .. _bm_hard_light: Hard Light ~~~~~~~~~~ Similar to Overlay. A combination of the Multiply and Screen blending modes, switching between both at a middle-lightness. Hard light checks if the color on the upperlayer has a lightness above 0.5. Unlike overlay, if the pixel is lighter than 0.5, it is blended like in Multiply mode, if not the pixel is blended like in Screen mode. Effectively, this decreases contrast. .. figure:: /images/blending_modes/lighten/Blending_modes_Hard_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hard Light**. .. _bm_lighten: Lighten ~~~~~~~ With the darken, the upper layer's colors are checked for their lightness. Only if they are Lighter than the underlying color on the lower layer, will they be visible. .. figure:: /images/blending_modes/lighten/Blending_modes_Lighten_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Lighten**. .. _bm_lighter_color: Lighter Color ~~~~~~~~~~~~~ .. figure:: /images/blending_modes/lighten/Blending_modes_Lighter_Color_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Lighter Color**. .. _bm_linear_dodge: Linear Dodge ~~~~~~~~~~~~ Exactly the same as :ref:`bm_addition`. Put in for compatibility purposes. .. figure:: /images/blending_modes/lighten/Blending_modes_Linear_Dodge_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Linear Dodge** (exactly the same as Addition). .. _bm_easy_dodge: Easy Dodge ~~~~~~~~~~ Aims to solve issues with Color Dodge blending mode by using a formula which falloff is similar to Dodge, but the falloff rate is softer. It is within the range of 0.0f and 1.0f unlike Color Dodge mode. .. figure:: /images/blending_modes/lighten/Blending_modes_Easy_Dodge_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Easy Dodge**. .. _bm_flatlight: -Flatlight +Flat Light ~~~~~~~~~ The spreadout variation of Vivid Light mode which range is between 0.0f and 1.0f. .. figure:: /images/blending_modes/lighten/Blending_modes_Flat_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Flat Light**. .. _bm_fog_lighten: Fog Lighten (IFS Illusions) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lightens the image in a way that there is a 'fog' in the end result. This is due to the unique property of fog lighten in which midtones combined are lighter than non-midtones blend. .. figure:: /images/blending_modes/lighten/Blending_modes_Fog_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Fog Lighten**. .. _bm_linear_light: Linear Light ~~~~~~~~~~~~ Similar to :ref:`bm_overlay`. Combines :ref:`bm_linear_dodge` and :ref:`bm_linear_burn`. When the lightness of the upper-pixel is higher than 0.5, it uses Linear dodge, if not, Linear burn to blend the pixels. .. figure:: /images/blending_modes/lighten/Blending_modes_Linear_Light_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Linear Light**. .. figure:: /images/blending_modes/lighten/Blending_modes_Linear_Light_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Linear Light**. .. figure:: /images/blending_modes/lighten/Blending_modes_Linear_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Linear Light**. .. _bm_p-norm_a: P-Norm A ~~~~~~~~ P-Norm A is similar to Screen blending mode which slightly darken images, and the falloff is more consistent all-around in terms of outline of values. Can be used an alternative to screen blending mode at times. .. figure:: /images/blending_modes/lighten/Blending_modes_P-Norm_A_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **P-Norm A**. .. _bm_p-norm_b: P-Norm B ~~~~~~~~ P-Norm B is similar to Screen blending mode which slightly darken images, and the falloff is more consistent all-around in terms of outline of values. The falloff is sharper in P-Norm B than in P-Norm A. Can be used an alternative to screen blending mode at times. .. figure:: /images/blending_modes/lighten/Blending_modes_P-Norm_B_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **P-Norm B**. .. _bm_pin_light: Pin Light ~~~~~~~~~ Checks which is darker the lower layer's pixel or the upper layer's double so bright. Then checks which is brighter of that result or the inversion of the doubled lower layer. .. figure:: /images/blending_modes/lighten/Blending_modes_Pin_Light_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Pin Light**. .. figure:: /images/blending_modes/lighten/Blending_modes_Pin_Light_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Pin Light**. .. figure:: /images/blending_modes/lighten/Blending_modes_Pin_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Pin Light**. .. _bm_screen: Screen ~~~~~~ Perceptually the opposite of :ref:`bm_multiply`. Mathematically, Screen takes both layers, inverts them, then multiplies them, and finally inverts them again. This results in light tones being more opaque and dark tones transparent. .. figure:: /images/blending_modes/lighten/Blending_modes_Screen_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Screen**. .. figure:: /images/blending_modes/lighten/Blending_modes_Screen_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Screen**. .. figure:: /images/blending_modes/lighten/Blending_modes_Screen_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Screen**. .. _bm_soft_light: Soft Light (Photoshop) & Soft Light SVG ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These are less harsh versions of Hard Light, not resulting in full black or full white. The SVG version is slightly different to the Photoshop version in that it uses a slightly different bit of formula when the lightness of the lower pixel is lower than 25%, this prevents the strength of the brightness increase. .. figure:: /images/blending_modes/lighten/Blending_modes_Soft_Light_Photoshop_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Soft Light (Photoshop)**. .. figure:: /images/blending_modes/lighten/Blending_modes_Soft_Light_SVG_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Soft Light (SVG)**. Soft Light (IFS Illusions) & Soft Light (Pegtop-Delphi) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These are alternative versions of standard softlight modes which are made to solve discontinuities seen with the standard blend modes. Sometimes, these modes offer subtle advantages by offering more contrast within some areas, and these advantages are more or less noticeable within different color spaces and depth. .. figure:: /images/blending_modes/lighten/Blending_modes_Soft_Light_IFS_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Soft Light (IFS Illusions)**. .. figure:: /images/blending_modes/lighten/Blending_modes_Soft_Light_PEGTOP_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Soft Light (Pegtop-Delphi)**. .. _bm_super_light: Super Light ~~~~~~~~~~~ Smoother variation of Hard Light blending mode with more contrast in it. .. figure:: /images/blending_modes/lighten/Blending_modes_Super_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Super Light**. .. _bm_tint: Tint (IFS Illusions) ~~~~~~~~~~~~~~~~~~~~ Basically, the blending mode only ends in shades of tints. This means that it's very useful for painting light colors while still in the range of tints. .. figure:: /images/blending_modes/lighten/Blending_modes_Tint_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Tint**. .. _bm_vivid_light: Vivid Light ~~~~~~~~~~~ Similar to Overlay. Mixes both Color Dodge and Burn blending modes. If the color of the upper layer is darker than 50%, the blending mode will be Burn, if not the blending mode will be Color Dodge. .. warning:: This algorithm doesn't use color dodge and burn, we don't know WHAT it does do but for Color Dodge and Burn you need to use :ref:`bm_hard_mix` .. figure:: /images/blending_modes/lighten/Blending_modes_Vivid_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Vivid Light**. diff --git a/reference_manual/brushes/brush_engines/color_smudge_engine.rst b/reference_manual/brushes/brush_engines/color_smudge_engine.rst index 672bab6d0..e90e5bf99 100644 --- a/reference_manual/brushes/brush_engines/color_smudge_engine.rst +++ b/reference_manual/brushes/brush_engines/color_smudge_engine.rst @@ -1,364 +1,364 @@ .. meta:: :description: The Color Smudge Brush Engine manual page. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic - ValerieVK :license: GNU free documentation license 1.3 or later. .. index:: Brush Engine, Color Smudge Brush Engine, Color Mixing, Smudge .. _color_smudge_brush_engine: ========================= Color Smudge Brush Engine ========================= .. image:: /images/icons/colorsmudge.svg The Color Smudge Brush is a brush engine that allows you to mix colors by smearing or dulling. A very powerful brush engine to the painter. Options ------- * :ref:`option_brush_tip` * :ref:`blending_modes` * :ref:`option_opacity_n_flow` * :ref:`option_size` * :ref:`option_spacing` * :ref:`option_mirror` * :ref:`option_softness` * :ref:`option_rotation` * :ref:`option_scatter` * :ref:`option_gradient` * :ref:`option_airbrush` * :ref:`option_texture` Options Unique to the Color Smudge Brush ---------------------------------------- .. _option_color_rate: Color Rate ~~~~~~~~~~ How much of the foreground color is added to the smudging mix. Works together with :ref:`option_smudge_length` and :ref:`option_smudge_radius` .. image:: /images/brushes/Krita_2_9_brushengine_colorrate_04.png .. _option_smudge_length: Smudge Length ~~~~~~~~~~~~~ Affects smudging and allows you to set it to Sensors. -There's two major types: +There are two major types: .. image:: /images/brushes/Krita_2.9_brush_engine_smudge_length_03.png Smearing Great for making brushes that have a very impasto oil feel to them. Dulling Named so because it dulls strong colors. Using an arithmetic blending type, Dulling is great for more smooth type of painting. .. image:: /images/brushes/Krita_2.9_brushengine_smudge_length_01.png Strength Affects how much the smudge length takes from the previous dab its sampling. This means that smudge-length at 1.0 will never decrease, but smudge-lengths under that will decrease based on spacing and opacity/flow. .. image:: /images/brushes/Krita_2.9_brushengine_smudge_length_02.png .. _option_smudge_radius: Smudge Radius ~~~~~~~~~~~~~ The :guilabel:`Smudge Radius` allows you to sample a larger radius when using smudge-length in :guilabel:`Dulling` mode. The slider is percentage of the brush-size. You can have it modified with :guilabel:`Sensors`. .. image:: /images/brushes/Krita_2.9_brushengine_smudge_radius_01.png Overlay ~~~~~~~ Overlay is a toggle that determine whether or not the smudge brush will sample all layers (overlay on), or only the current one. Tutorial: Color Smudge Brushes ------------------------------ I recommend at least skimming over the first part to get an idea of what does what. Overview and settings ~~~~~~~~~~~~~~~~~~~~~ Overview: Smearing and Dulling ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Color Smudge Brush offers 2 modes, accessible from the :guilabel:`Smudge Rate` section: * Smearing: This mode mixes colors by smudging ("smearing") the area underneath. * Dulling: In his mode, the brush "picks up" the color underneath it, mixes it with its own color, then paints with it. .. image:: /images/brushes/Krita-tutorial5-I.1.png Smudge Length ^^^^^^^^^^^^^ To better demonstrate the smudge function, I turned the color rate function off. .. image:: /images/brushes/Krita-tutorial5-I.2.png Common behaviors: * Unchecking the smudge rate function sets smudge rate to 1.00 (not 0.00) * Opacity: Below 0.50, there is practically no smudging left: keep opacity over 0.50. Differences: * Spacing with Smearing: the lower the spacing, the smoother the effect, so for smearing with a round brush you may prefer a value of 0.05 or less. Spacing affects the length of the smudge trail, but to a much lesser extent. The "strength" of the effect remains more or less the same however. * Spacing with Dulling: the lower the spacing, the stronger the effect: lowering the spacing too much can make the dulling effect too strong (it picks up a color and never lets go of it). The length of the effect is also affected. * Both Smearing and Dulling have a "smudge trail", but in the case of Dulling, the brush shape is preserved. Instead the trail determines how fast the color it picked up is dropped off. The other settings should be pretty obvious from the pictures, so I'll spare you some walls of text. Color Rate, Gradient and Blending modes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: /images/brushes/Krita-tutorial5-I.3.png Again, most of the settings behaviors should be obvious from the pictures. Just remember to keep :guilabel:`Opacity` over 0.50. Brush tips ^^^^^^^^^^ The Color Smudge Brush has all the same brush tip options as the Pixel Brush! .. image:: /images/brushes/Krita-tutorial5-I.4.png Just remember that the smudge effects are weaker when a brush tip's opacity is lower, so for low-opacity brush tips, increase the opacity and smudge/color rates. Scatter and other shape dynamics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Color Smudge Brush shares the following dynamics with the Pixel Brush: Opacity, Size, Spacing, Rotation, and Scatter. However, because of the Smudge effects, the outcome will be different from the Pixel Brush. In particular, the Scatter option becomes much more significant. .. image:: /images/brushes/Krita-tutorial5-I.5-1.png A few things to note: * Scattering is proportional to the brush size. It's fine to use a scattering of 5.00 for a tiny round brush, but for bigger brushes, you may want to get it down to 0.50 or less. * You may notice the lines with the :guilabel:`Smearing` option. Those are caused by the fact that it picked up the hard lines of the rectangle. * For scattering, the brush picks up colors within a certain distance, not the color directly under the paintbrush: .. image:: /images/brushes/Krita-tutorial5-I.5-2.png Other color behaviors: Gradient, Blending modes, Overlay mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Gradient """""""" Gradient is equivalent to the :menuselection:`Source --> Gradient` and :menuselection:`Color --> Mix` for the Pixel brush: the color will vary between the colors of the gradient. .. image:: /images/brushes/Krita-tutorial5-I.6-1.png You can either: * Leave the default :menuselection:`Foreground --> Background gradient` setting, and just change the foreground and background colors * Select a more specific gradient * Or make custom gradients. Blending Modes """""""""""""" Blending Modes work just like with the Pixel Brush. The color used though is the color from Color rate. Color Blending modes with the smudge brush are even harder to predict than with the pixel brush, so I'll leave you to experiment on your own. Overlay Mode """""""""""" By default, the Color Smudge Brush only takes information from the layer it is on. However, if you want it to take color information from all the layers, you can turn on the Overlay mode. Be aware though, that it does so by "picking up" bits of the layer underneath, which may mess up your drawing if you later make changes to the layer underneath. Use cases: Smudging and blending ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This part describes use cases with color rate off. I won't explain the settings for dynamics in detail, as you can find the explanations in the :ref:`Pixel Brush tutorial `. Smudging effects ^^^^^^^^^^^^^^^^ For simple smudging: * Pick the Color Smudge Brush. You can use either Smearing or Dulling. * Turn off Color Rate * Smudge away .. image:: /images/brushes/Krita-tutorial5-II.2.png When using lower opacity brush tips, remember to "compensate" for the less visible effects by increasing both :guilabel:`Smudge Rate` and :guilabel:`Opacity`, if necessary to maximum. Some settings for Smearing """""""""""""""""""""""""" * For smoother smearing, decrease spacing. Remember that spacing is proportional to brush tip size. For a small round brush, 0.10 spacing is fine, but for mid-sized and large brushes, decrease spacing to 0.05 or less. Some settings for Dulling """"""""""""""""""""""""" * Lowering the spacing will also make the smudging effect stronger, so find a right balance. 0.10 for most mid-sized round brushes should be fine. * Unlike Smearing, Dulling preserves the brush shape and size, so it won't "fade off" in size like Smearing brushes do. You can mimic that effect through the simple size fade dynamic. Textured blending ^^^^^^^^^^^^^^^^^ In this case, what I refer to as "Blending" here is simply using one of the following two dynamics: * :guilabel:`Rotation` set to :guilabel:`Distance` or :guilabel:`Fuzzy` * And/or Scatter: * For most mid-sized brushes you will probably want to lower the scatter rate to 0.50 or lower. Higher settings are okay for tiny brushes. * Note that Scatter picks colors within a certain distance, not the color directly under the brush (see :ref:`option_brush_tip`) * Optional: Pile on size and other dynamics and vary brush tips. In fact, the Color Smudge brush is not a blur brush, so smudging is not a very good method of "smooth" blending. To blend smoothly, you'll have better luck with: * Building up the transition by painting with intermediate values, described later * Or using the "blur with feathered selection" method that I'll briefly mention at the end of this tutorial. I've tried to achieve smooth blending with Color Smudge brush by adding rotation and scatter dynamics, but honestly they looked like crap. However, the Color Smudge brush is very good at "textured blending": .. image:: /images/brushes/Krita-tutorial5-II.3.png Basically you can paint first and add textured transitions after. Use cases: Coloring ~~~~~~~~~~~~~~~~~~~ For this last section, :guilabel:`Color Rate` is on. Layer options ^^^^^^^^^^^^^ Before we get started, notice that you have several possibilities for your set up: * Shading on the same layer * Shading on a separate layer, possibly making use of alpha-inheritance. The brush blends with the transparency of the layer it's on. This means: * If the area underneath is more of less uniform, the output is actually similar as if shading on the same layer * But if the area underneath is not uniform, then you'll get fewer color variations. * Shading on a separate layer, using Overlay mode. Use this only if you're fairly sure you don't need to adjust the layer below, or the colors may become a mess. .. image:: /images/brushes/Krita-tutorial5-III.1-1.png Issue with transparency """"""""""""""""""""""" The Color Smudge Brush blends with transparency. What this means is that when you start a new, transparent layer and "paint" on this layer, you will nearly always get less than full opacity. Basically: * It may look great when you're coloring on a blank canvas * But it won't look so great when you add something underneath .. image:: /images/brushes/Krita-tutorial5-III.1-2.png The solution is pretty simple though: * Make sure you have the area underneath colored in first: * With tinting, you already have the color underneath colored, so that's done * For painting, roughly color in the background layer first * Or color in the shape on a new layer and make use of alpha-inheritance * For the last solution, use colors that contrast highly with what you're using for best effect. For example, shade in the darkest shadow area first, or the lightest highlights, and use the color smudge brush for the contrasting color. .. image:: /images/brushes/Krita-tutorial5-III.1-3.png Soft-shading ~~~~~~~~~~~~ Suppose you want more or less smooth color transitions. You can either: * :guilabel:`Color Rate` as low as 0.10 for round brushes, higher with non fully opaque brush tips. * Or set the :guilabel:`Smudge Rate` as low as 0.10 instead. * Or a combination of the two. Please try yourself for the output you like best. * Optional: turn on :guilabel:`Rotation` for smoother blending * Optional: turn on :guilabel:`Scatter` for certain effects * Optional: fiddle with :guilabel:`Size` and :guilabel:`Opacity` dynamics as necessary. .. image:: /images/brushes/Krita-tutorial5-III.2-1.png This remains, in fact, a so-so way of making smooth transitions. It's best to build up intermediate values instead. Here: * I first passed over the blue area three times with a red color. I select 3 shades. * I color picked each of these values with :kbd:`Ctrl` + |mouseleft|, then used them in succession .. image:: /images/brushes/Krita-tutorial5-III.2-2.png Painting: thick oil style ~~~~~~~~~~~~~~~~~~~~~~~~~ Many of the included color smudge brush presets produce a thick oil paint-like effect. This is mainly achieved with the Smearing mode on. Basically: * Smearing mode with high smudge and color rates * Both at 0.50 are fine for normal round brushes or fully opaque predefined brushes * Up to 1.00 each for brushes with less density or non fully-opaque predefined brushes * Add Size/Rotation/Scatter dynamics as needed. When you do this, increase smudge and color rates to compensate for increased color mixing. .. image:: /images/brushes/Krita-tutorial5-III.3-1.png One thing I really like to do is to set different foreground and background colors, then turn on :menuselection:`Gradient --> Fuzzy`. Alternatively, just paint with different colors in succession (bottom-right example). .. image:: /images/brushes/Krita-tutorial5-III.3-2.png Here's some final random stuff. With pixel brushes, you can get all sorts of frill designs by using elongated brushes and setting the dynamics to rotation. You won't get that with Color Smudge Brushes. Instead you'll get something that looks more like... yarn. Which is cool too. Here, I just used oval brushes and :menuselection:`Rotation --> Distance`. .. image:: /images/brushes/Krita-tutorial5-III.3-3.png Painting: Digital watercolor style ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When I say "digital watercolor", it refers to a style often seen online, i.e. a soft, smooth shading style rather than realistic watercolor. For this you mostly need the Dulling mode. A few things: * Contrary to the Smearing mode, you may want to lower opacity for normal round brushes to get a smoother effect, to 0.70 for example. * Vary the brush tip fade value as well. * When using :guilabel:`Scatter` or other dynamics, you can choose to set smudge and color values to high or low values, for different outcomes. .. image:: /images/brushes/Krita-tutorial5-III.4.png Blurring ~~~~~~~~ You can: * Paint then smudge, for mostly texture transitions * Or build up transitions by using intermediate color values If you want even smoother effects, well, just use blur. Gaussian blur to be exact. .. image:: /images/brushes/Krita-tutorial5-III.5.png And there you go. That last little trick concludes this tutorial. diff --git a/reference_manual/dockers/palette_docker.rst b/reference_manual/dockers/palette_docker.rst index ba9204491..e3d6ef5a6 100644 --- a/reference_manual/dockers/palette_docker.rst +++ b/reference_manual/dockers/palette_docker.rst @@ -1,91 +1,91 @@ .. meta:: :description: Overview of the palette docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Palettes, Color, Swatches .. _palette_docker: ============== Palette Docker ============== The palette docker displays various color swatches for quick use. It also supports editing palettes and organizing colors into groups, as well as arbitrary positioning of swatches. .. versionadded:: 4.2 The palette docker was overhauled in 4.2, allowing for grid ordering, storing palette in the document and more. .. image:: /images/dockers/Palette-docker.png You can choose from various default palettes or you can add your own colors to the palette. To choose from the default palettes click on the icon in the bottom left corner of the docker, it will show a list of pre-loaded color palettes. You can click on one and to load it into the docker, or click on import resources to load your own color palette from a file. Creating a new palette can be done by pressing the :guilabel:`+`. Fill out the :guilabel:`name` input, pressing :guilabel:`Save` and Krita will select your new palette for you. -Since 4.2 Krita's color palettes are not just a list of colors to store, but also a grid to organize them on. That's why you will get a grid with 'transparency checkers', indicating that there is no entry. To add an entry, just click a swatch and a new entry will be added with a default name and the current foreground color.. +Since 4.2 Krita's color palettes are not just a list of colors to store, but also a grid to organize them on. That's why you will get a grid with 'transparency checkers', indicating that there is no entry. To add an entry, just click a swatch and a new entry will be added with a default name and the current foreground color. * Selecting colors is done by |mouseleft| on a swatch. * Pressing the delete icon will remove the selected swatch or group. When removing a group, Krita will always ask whether you'd like to keep the swatches. If so, the group will be merged with the default group. * Double |mouseleft| a swatch will call up the edit window where you can change the color, the name, the id and whether it's a spot color. On a group this will allow you to set the group name. * |mouseleft| drag will allow you to drag and drop swatches and groups to order them. * |mouseright| on a swatch will give you a context menu with modify and delete options. * Pressing the :guilabel:`+` icon will allow you to add a new swatch. * The drop down contains all the entries, id numbers and names. When a color is a spot color the thumbnail is circular. You can use the dropdown to search on color name or id. Pressing the Folder icon will allow you to modify the palette. Here you can add more columns, modify the default group's rows, or add more groups and modify their rows. Palette Name Modify the palette name. This is the proper name for the palette as shown in the palette chooser dropdown. File name This is the file name of the palette, which should be file system friendly. (Avoid quotation marks, for example). Column Count The amount of columns in this palette. This counts for all entries. IF you accidentally make it small than the amount of entries that take up columns, you can still make it bigger until the next restart of Krita. Where is the palette stored: Whether to store said palette in the document or resource folder. Resource Folder The default, the palette will be stored in the resource folder. Document The palette will be removed from the resource folder and stored in the document upon save. It will be loaded into the resources upon loading the document. Add group Add a new group. On clicking you will be asked for a name and a set of rows. Group Settings Here you can configure the groups. The dropdown has a selection of groups. The default group is at top. Row Count The amount of rows in the group. If you want to add more colors to a group and there's no empty areas to click on anymore, increase the row count. Rename Group Rename the group. Delete Group Delete the group. It will ask whether you want to keep the colors. If so, it will merge the group's contents with the default group. The edit and new color dialogs ask for the following: Color The color of the swatch. Name The Name of the color in a human readable format. ID The ID is a number that can be used to index colors. Where Name can be something like "Pastel Peach", ID will probably be something like "RY75". Both names and ids can be used to search the color in the color entry dropdown at the bottom of the palette. Spot color Currently not used for anything within Krita itself, but spot colors are a toggle to keep track of colors that represent a real world paint that a printer can match. Keeping track of such colors is useful in a printing workflow, and it can also be used with python to recognize spot colors. Krita's native palette format is since 4.0 :ref:`file_kpl`. It also supports importing... * Gimp Palettes (.gpl) * Microsoft RIFF palette (.riff) * Photoshop Binary Palettes (.act) * PaintShop Pro palettes (.psp) * Photoshop Swatches (.aco) * Scribus XML (.xml) * Swatchbooker (.sbz). diff --git a/reference_manual/hdr_display.rst b/reference_manual/hdr_display.rst index a6decb8ee..4e7169d3c 100644 --- a/reference_manual/hdr_display.rst +++ b/reference_manual/hdr_display.rst @@ -1,87 +1,87 @@ .. meta:: :description: How to configure Krita for HDR displays. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: HDR, High Dynamic Range, HDR display .. _hdr_display: HDR Display ----------- .. versionadded:: 4.2 .. Note:: Currently only available on Windows. -Since 4.2 Krita can not just edit high bitdepths images, but also render them on screen in a way that a HDR capable setup can show them as HDR images. HDR images, to put it simply, are images with really bright colors. They do this by having a very large range of colors available, 16 bit and higher, and to understand the upper range of the available colors as brighter than the brightest white most screens can show. HDR screens in turn, are screens which can show brighter colors than most screens can show, and can thus show the super-bright colors in these HDR images. This allows for images where bright things, like fire, sunsets, magic, look really spectacular! It also shows more subtle shadows and has better contrast in lower color values, but this requires a sharper eye. +Since 4.2 Krita can not just edit high bitdepths images, but also render them on screen in a way that an HDR capable setup can show them as HDR images. HDR images, to put it simply, are images with really bright colors. They do this by having a very large range of colors available, 16 bit and higher, and to understand the upper range of the available colors as brighter than the brightest white most screens can show. HDR screens, in turn, are screens which can show brighter colors than most screens can show, and can thus show the super-bright colors in these HDR images. This allows for images where bright things, like fire, sunsets, magic, look really spectacular! It also shows more subtle shadows and has a better contrast in lower color values, but this requires a sharper eye. Configuring HDR ~~~~~~~~~~~~~~~ -Krita cannot show HDR with any given monitor, you will need a HDR capable setup. HDR capable setups are screens which can show more than 100 nits, preferably a value like 1000 and can show the rec 2020 PQ space. You will need to have the appropriate display cable(otherwise the values are just turned into regular SDR) and a graphics card which supports HDR, as well as suitable drivers. You then also need to configure the system settings for HDR. +Krita cannot show HDR with any given monitor, you will need an HDR capable setup. HDR capable setups are screens which can show more than 100 nits, preferably a value like 1000 and can show the rec 2020 PQ space. You will need to have the appropriate display cable(otherwise the values are just turned into regular SDR) and a graphics card which supports HDR, as well as suitable drivers. You then also need to configure the system settings for HDR. If you can confirm that the system understands your setup as an HDR setup, you can continue your :ref:`configuration in Krita`, in :menuselection:`Settings --> Configure Krita --> Display`. There, you need to select the preferred surface, which should be as close to the display format as possible. Then restart Krita. Painting in HDR ~~~~~~~~~~~~~~~ To create a proper HDR image, you will need to make a canvas using a profile with rec 2020 gamut and a linear trc. :guilabel:`Rec2020-elle-V4-g10.icc` is the one we ship by default. HDR images are standardized to use the Rec2020 gamut, and the PQ trc. However, a linear TRC is easier to edit images in, so we don't convert to PQ until we're satisfied with our image. For painting in this new exciting color space, check the :ref:`scene_linear_painting` page, which covers things like selecting colors, gotchas, which filters work and cool workflows. Exporting HDR ~~~~~~~~~~~~~ Now for saving and loading. The kra file format can save the floating point image just fine, and is thus a good working file format. For sharing with other image editors, :ref:`file_exr` is recommended. For sharing with the web we currently only have :ref:`HDR png export `, but there's currently very little support for this standard. In the future we hope to see heif and avif support. For exporting HDR animations, we support saving HDR to the new codec for mp4 and mkv: H.265. To use these options... * Get a version of FFMpeg that supports H.256 * Have an animation open. * :menuselection:`File --> Render Animation` * Select :guilabel:`Video` * Select for :guilabel:`Render as`, 'MPEG-4 video' or 'Matroska'. -* Press the configure button next to the fileformat dropdown. +* Press the configure button next to the file format dropdown. * Select at the top 'H.265, MPEG-H Part 2 (HEVC)' * Select for the :guilabel:`Profile`, 'main10'. * :guilabel:`HDR Mode` should now enable. Toggle it. * click :guilabel:`HDR Metadata` to configure the HDR metadata (options described below). * finally, when done, click 'render'. HDR Metadata ~~~~~~~~~~~~ This is in the render animation screen. It configures the SMPTE ST.2086 or Master Display Color Volumes metadata and is required for the HDR video to be transferred properly to the screen by video players and the cable. Master Display - The colorspace characteristics of the display on for which your image was made, typically also the display that you used to paint the image with. There's two default values for common display color spaces, and a custom value, which will enable the :guilabel:`Display` options. + The colorspace characteristics of the display on for which your image was made, typically also the display that you used to paint the image with. There are two default values for common display color spaces, and a custom value, which will enable the :guilabel:`Display` options. Display The precise colorspace characteristics for the display for which your image was made. If you do not have custom selected for :guilabel:`Master Display`, these are disabled as we can use predetermined values. Red/Green/Blue Primary The xyY x and xyY y value of the three chromacities of your screen. These define the gamut. White Point The xyY x and xyY y value of the white point of your screen, this defines what is considered 'neutral grey'. Min Luminance The darkest value your screen can show in nits. Max Luminance The brightest value your screen can show in nits. MaxCLL The value of the brightest pixel of your animation in nits. MaxFALL The average 'brightest value' of the whole animation. diff --git a/reference_manual/layers_and_masks/split_alpha.rst b/reference_manual/layers_and_masks/split_alpha.rst index dbbfc5e81..391e36496 100644 --- a/reference_manual/layers_and_masks/split_alpha.rst +++ b/reference_manual/layers_and_masks/split_alpha.rst @@ -1,36 +1,36 @@ .. meta:: :description: Split Alpha: how to work with color and alpha channels of the layer separately .. metadata-placeholder :authors: - Dmitry Kazakov - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Layers, Transparency, Alpha channel, Game .. _split_alpha: =========== Split Alpha =========== Sometimes especially in the field of game development, artists need to work with the alpha channel of the texture separately. To assist such workflow, Krita has a special functionality called :menuselection:`Split Alpha`. It allows splitting alpha channel of a paint layer into a separate :ref:`transparency_masks`. The artist can work on the transparency mask in an isolated environment and merge it back when he has finished working. How to work with alpha channel of the layer ------------------------------------------- #. |mouseright| the paint layer in the layers docker. #. Choose :menuselection:`Split Alpha --> Alpha into Mask` #. Use your preferred paint tool to paint on the Transparency Mask. Black paints transparency (see-through), white paints opacity (visible). Gray values paint semi-transparency. #. If you would like to isolate alpha channel, enter Isolated Mode by |mouseright| + :menuselection:`Isolated Mode` (or :kbd:`Alt` + |mouseleft|) #. When finished editing the Transparency Mask, |mouseright| on it and select :menuselection:`Split Alpha->Write as Alpha` How to save a PNG texture and keep color values in fully transparent areas -------------------------------------------------------------------------- Normally, when saving an image to a file, all fully transparent areas of the image are filled with black color. It happens because when composing the layers of the image, Krita drop color data of fully transparent pixels for efficiency reason. To avoid this of color data loss you can either avoid compositing of the image i.e. limit image to only one layer without any masks or effects, or use the following method: #. |mouseright| the layer in the layers docker. #. Choose :menuselection:`Split Alpha --> Alpha into Mask` -#. |mouseright| on the created mask and select :menuselection:`Split Alpha->Save Merged...` +#. |mouseright| on the created mask and select :menuselection:`Split Alpha --> Save Merged...` diff --git a/reference_manual/preferences/display_settings.rst b/reference_manual/preferences/display_settings.rst index 2723a22b7..9851827d9 100644 --- a/reference_manual/preferences/display_settings.rst +++ b/reference_manual/preferences/display_settings.rst @@ -1,115 +1,115 @@ .. meta:: :description: Display settings in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Alvin Wong :license: GNU free documentation license 1.3 or later. .. index:: Preferences, Settings, Canvas Border, Transparency Checkers, OpenGL, Canvas Graphics Acceleration, Display .. _display_settings: ================ Display Settings ================ .. image:: /images/preferences/Krita_Preferences_Display.png Here various settings for the rendering of Krita can be edited. OpenGL ------ **For Krita 3.3 or later: Reworded as "*Canvas Graphics Acceleration*"** OpenGL is a bit of code especially for graphics cards. Graphics cards a dedicate piece of hardware for helping your computer out with graphics calculations, which Krita uses a lot. All modern computer have graphics cards. **For Krita 3.3 or later:** On Windows, Krita also supports using Direct3D instead with the help of the ANGLE library. ANGLE works by converting the OpenGL functions that Krita makes use of to the equivalent in Direct3D. It may (or may not) be slower than native OpenGL, but it has better compatibility with typical Windows graphics drivers. Enable OpenGL **(For Krita 3.3 or later: Reworded as *Canvas Graphics Acceleration*)** Selecting this checkbox will enable the OpenGL / ANGLE canvas drawing mode. With a decent graphics card this should give faster feedback on brushes and tools. Also the canvas operations like Rotate, Zoom and Pan should be considerably faster. For Krita 3.3 or later: Renderer *On Windows:* You can switch between native OpenGL or ANGLE Direct3D 11 rendering. The usual recommendation is to leave it as "Auto", which Krita will decide the best to use based on some internal compatibility checking. Changes to this option require a restart of Krita to take effect. Use Texture Buffer This setting utilizes the graphics card's buffering capabilities to speed things up a bit. Although for now, this feature may be broken on some AMD/Radeon cards and may work fine on some Intel graphics cards. Scaling Mode The user can choose which scaling mode to use while zooming the canvas. The choice here only affects the way the image is displayed during canvas operations and has no effect on how Krita scales an image when a transformation is applied. Nearest Neighbour This is the fastest and crudest filtering method. While fast, this results in a large number of artifacts - 'blockiness' during magnification, and aliasing and shimmering during minification. Bilinear Filtering This is the next step up. This removes the 'blockiness' seen during magnification and gives a smooth looking result. For most purposes this should be a good trade-off between speed and quality. Trilinear Filtering This should give a little better result than Bilinear Filtering. High Quality Filtering Only available when your graphics card supports OpenGL 3.0. As the name suggests, this setting provides the best looking image during canvas operations. .. _hdr_display_settings: HDR --- .. versionadded:: 4.2 These settings are only available when using Windows. -Since 4.2 Krita can not just edit floating point images, but also render them on screen in a way that a HDR capable setup can show them as HDR images. +Since 4.2 Krita can not just edit floating point images, but also render them on screen in a way that an HDR capable setup can show them as HDR images. The HDR settings will show you the display format that Krita can handle, and the current output format. You will want to set the preferred output format to the one closest to what your display can handle to make full use of it. Display Format The format your display is in by default. If this isn't higher than 8bit, there's a good chance your monitor is not an HDR monitor as far as Krita can tell. This can be a hardware issue, but also a graphics driver issue. Check if other HDR applications, or the system HDR settings are configured correctly. Current Output format What Krita is rendering the canvas to currently. Preferred Output Format Which surface type you prefer. This should be ideally the closest to the display format, but perhaps due to driver issues you might want to try other formats. This requires a restart. Transparency Checkboxes ----------------------- Krita supports layer transparency. Of course, the nasty thing is that transparency can't be seen. So to indicate transparency at the lowest layer, we use a checker pattern. This part allows you to configure it. Size This sets the size of the checkers which show up in transparent parts of an image. Color The user can set the colors for the checkers over here. Move Checkers When Scrolling When selected the checkers will move along with opaque elements of an image during canvas Panning, Zooming, etc. Otherwise the checkers remain stationary and only the opaque parts of an image will move. Canvas Border ------------- Color The user can select the color for the canvas i.e. the space beyond a document's boundaries. Hide Scrollbars Selecting this will hide the scrollbars in all view modes. Pixel Grid ---------- .. versionadded:: 4.0 This allows configuring an automatic pixel-by-pixel grid, which is very useful for doing pixel art. Color The color of the grid. Start Showing at This determines the zoom level at which the pixel grid starts showing, as showing it when the image is zoomed out a lot will make the grid overwhelm the image, and is thus counter productive. Miscellaneous ------------- Color Channels in Color This is supposed to determine what to do when only a single channel is selected in the channels docker, but it doesn't seem to work. Enable Curve Anti-Aliasing This allows anti-aliasing on previewing curves, like the ones for the circle tool, or the path tool. Enable Selection Outline Anti-Aliasing This allows automatic anti-aliasing on selection. It makes the selection feel less jaggy and more precise. Hide window scrollbars. Hides the scrollbars on the canvas. Hide Layer thumbnail popup This disables the thumbnail that you get when hovering over a layer. diff --git a/reference_manual/separate_image.rst b/reference_manual/separate_image.rst index 8add0187d..ef4fdae4a 100644 --- a/reference_manual/separate_image.rst +++ b/reference_manual/separate_image.rst @@ -1,40 +1,40 @@ .. meta:: :description: The channel separation dialog in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Channel Separation, Separate Image .. _separate_image: Separate Image -------------- The separate image dialog allows you to separate the channels of the image into layers. This is useful in game texturing workflows, as well as more advanced CMYK workflows. When confirming, :guilabel:`Separate Image` creates a series of layers for each channel. So for RGB, it will create Red, Green and Blue layers, each representing the pixels of that channel, and for CMYK, Cyan, Magenta, Yellow and Key layers. Source Which part of the image should be separated. Current Layer The active layer. Flatten all layers before separation. The total image. Alpha Options What to do with the alpha channel. All Krita images have an alpha channel, which is the transparency. How should it be handled when separating? - Copy Alpha Channel to Each separate channel as an apha channel. + Copy Alpha Channel to Each separate channel as an alpha channel. This adds the transparency of the original source to all the separation layers. Discard Alpha Channel - Just get rid of the alpha alltogether. + Just get rid of the alpha altogether. Create separate separation from alpha channel. Create a separate layer with the alpha channel as a grayscale layer. Downscale to 8bit before separating. Convert the image to 8bit before doing the separation. Output to color, not grayscale. This results in the Red separation using black to red instead of black to white. This can make it easier to recombine using certain methods. diff --git a/reference_manual/split_layer.rst b/reference_manual/split_layer.rst index 33548cb71..26323e3c7 100644 --- a/reference_manual/split_layer.rst +++ b/reference_manual/split_layer.rst @@ -1,33 +1,33 @@ .. meta:: :description: The Split Layer functionality in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Splitting, Color Islands .. _split_layer: Split Layer ----------- Splits a layer according to color. This is useful in combination with the :ref:`colorize_mask` and :kbd:`R` + |mouseleft| to select layers at the cursor. Put all new layers in a group layer Put all the result layers into a new group. -Put every layer it its own, separate group layer +Put every layer in its own, separate group layer Put each layer into its own group. Alpha-lock every new layer Enable the alpha-lock for each layer so it is easier to color. Hide the original layer Turns off the visibility on the original layer so you won't get confused. Sort layers by amount of non-transparent pixels. This ensures that the layers with large color swathes will end up at the top. Disregard opacity. Whether to take into account transparency of a color. Fuzziness - How precise the algorithm should be. The large the fuzziness, the less precise the algorithm will be. This is necessary for splitting layers with anti-aliasing, because otherwise you would end up with a separate layer for each tiny pixel. + How precise the algorithm should be. The larger the fuzziness, the less precise the algorithm will be. This is necessary for splitting layers with anti-aliasing, because otherwise you would end up with a separate layer for each tiny pixel. Palette to use for naming the layers Select the palette to use for naming. Krita will compare the main color of a layer to each color in the palette to get the most appropriate name for it. diff --git a/reference_manual/tools/pan.rst b/reference_manual/tools/pan.rst index 164ea4611..4e716ddf4 100644 --- a/reference_manual/tools/pan.rst +++ b/reference_manual/tools/pan.rst @@ -1,27 +1,27 @@ .. meta:: :description: Krita's pan tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Pan .. _pan_tool: ======== Pan Tool ======== |toolpan| The pan tool allows you to pan your canvas around freely. It can be found at the bottom of the toolbox, and you just it by selecting the tool, and doing |mouseleft| + drag over the canvas. -There's two hotkeys associated with this tool, which makes it easier to access from the other tools: +There are two hotkeys associated with this tool, which makes it easier to access from the other tools: * :kbd:`Space +` |mouseleft| + drag over the canvas. * |mousemiddle| + drag over the canvas. For more information on such hotkeys, check :ref:`navigation`. diff --git a/reference_manual/tools/shape_selection.rst b/reference_manual/tools/shape_selection.rst index 5b630fc42..d5778684a 100644 --- a/reference_manual/tools/shape_selection.rst +++ b/reference_manual/tools/shape_selection.rst @@ -1,163 +1,163 @@ .. meta:: :description: Krita's shape selection tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Raghavendra Kamath - Alberto Eleuterio Flores Guerrero :license: GNU free documentation license 1.3 or later. .. index:: Tools, Vector, Shape Selection .. _shape_selection_tool: ==================== Shape Selection Tool ==================== |toolshapeselection| The shape selection tool used to be called the "default" tool. This had to do with Krita being part of an office suite once upon a time. But this is no longer the case, so we renamed it to its purpose in Krita: Selecting shapes! This tool only works on vector layers, so trying to use it on a paint layer will give a notification. After you create vector shapes, you can use this tool to select, transform, and access the shape's options in the tool options docker. There are a lot of different properties and things you can do with each vector shape. Selection --------- Selecting shapes can be done by two types of actions: - |mouseleft| on a single shape to select it. - |mouseleft| and drag to select multiple shapes. - *Blue selection* (drag left to right): selects only shapes fully covered. - *Green selection* (drag right to left): selects all the touched shapes. .. figure:: /images/tools/blue-and-green-selections.png :align: center :alt: Left: Blue selection. Right: Green selection. Blue selection: left-to-right, selects fully covered images. -- Green selection: right-to-left, selects touched shapes. Placement, Scale, Angle and Distortion -------------------------------------- Once an object is selected, a dashed bounding box will appear around it. The box will also have square handles. You can use this bounding box to do adjust: placement, scale, angle and distortion of the selected object. .. figure:: /images/tools/shapes-selection-properties.png :align: center :alt: Left to right: Placement, Scale, Angle and Distortion. Left to right: Placement, Scale, Angle and Distortion. Placement |mouseleft| and hold inside the bounding box, while holding move the shape to the desired position. Scale |mouseleft| and hold inside any of the square handles, move to adjust the dimensions of the object. Angle Place the cursor slightly outside any of the corner handles. |mouseleft| and drag to adjust the angle of the shape. Distortion Place the cursor slightly outside any of the middle handles. |mouseleft| and drag to skew the shape. Tool Options ------------ The tool options of this menu are quite involved, and separated over 3 tabs. Geometry ~~~~~~~~ .. image:: /images/tools/shape-selection-menu-geometry.png :width: 400 :alt: Tool options: Geometry tool. Geometry is the first section in the tool options. This section allows you to set precisely the 'x' and 'y' coordinates, and also the width and height of the shape. Uniform scaling Enabled: when scaling, it will scale the stroke width with the shape. Not enabled: when scaling, the stroke width will stay the same. Global coordinates Determines whether the width and height bars use the width and height of the object, while taking transforms into account. Opacity The general opacity, or transparency, of the object. Opacity for stroke and fill are explained in the next two sections. .. warning:: Anchor Lock is not implemented at the moment. Stroke ~~~~~~ .. image:: /images/tools/shape-selection-menu-stroke.png :width: 400 :alt: Tool options: Stroke tool. The stroke tab determines how the stroke around the object should look. The first set of buttons allows us to set the fill of the stroke: *None*, *Color* and *Gradient*; this same options exist for the fill of the shape, please refer to the following "**Fill**" section for more details on how to use both of them. Then, there are the settings for the stroke style: Thickness Sets the width of the stroke. When creating a shape, Krita will use the current brush size to determine the width of the stroke. Cap and corner style Sets the stroke cap and stroke corner style, this can be accessed by pressing the three dots button next to the thickness entry. Line-style Sets the line style of the stroke: *solid*, *dashes*, *dots*, or mixes of *dashes and dots*. Markers Adds markers to the stroke. Markers are little figures that will appear at the start, end or all the nodes in between, depending on your configuration. Fill ~~~~ .. image:: /images/tools/shape-selection-menu-fill.png :width: 400 :alt: Tool options: Fill tool. This section is about the color that fills the shape. As mentioned above in the **Stroke** section, the features are the same for both the fill of the stroke and the fill of the shape. Here is the explanation for both: A fill can be: *solid color*, *gradient*, or *none* (transparent) None No fill. It's transparent. Color A flat color, you can select a new one by pressing the color button. Gradient As the name implies this type fills the shape with a gradient. It has the following options: Type A linear or radial gradient. Repeat How the gradient repeats itself. Preset A menu for selecting a base gradient from a set of predefined gradient presets, which can be edited as desired. Save Gradient A quick way for saving the current gradient as a preset. Stops Options Line A representation of how the gradient colors should look. The stops are represented by triangles. There are two stops by default one at the beginning and one at the end. You can create more stops just by clicking anywhere on the line. To select a stop |mouseleft| inside the triangle. To delete the stops, |mouseleft| drag them to left or right until the end of the line. Flip Gradient A quick way to invert the order of the gradient. Stop Choose a color for the current selected stop. Opacity Choose the opacity for the current selected stop. .. hint:: - When a stop triangle is selected, it is highlighted with a slight blue outline. The selected stop triangle will change its color and opacity accordingly when this options are changed. + When a stop triangle is selected, it is highlighted with a slight blue outline. The selected stop triangle will change its color and opacity accordingly when these options are changed. .. hint:: You can edit the gradient in two ways. The first one is the actual gradient in the docker that you can manipulate. Vectors always use stop-gradients. - The other way to edit gradients is editing their position on canvas. + The other way to edit gradients is editing their position on the canvas. Right-click menu ---------------- The shape selection tool has a nice right click menu that gives you several features. If you have an object selected, you can perform various functions like cutting, copying, or moving the object to the front or back. .. image:: /images/vector/Vector-right-click-menu.png If you have multiple objects selected you can perform "Logical Operators" on them, or boolean operations as they are commonly called. It will be the last item on the right-click menu. You can unite, intersect, subtract, or split the selected objects. diff --git a/tutorials/eye_tracker.rst b/tutorials/eye_tracker.rst index 3a253c32c..4050d30c0 100644 --- a/tutorials/eye_tracker.rst +++ b/tutorials/eye_tracker.rst @@ -1,203 +1,203 @@ .. meta:: :description: Setting up Krita to use with an eye tracker. :authors: - H. Turgut Uyar :license: GNU free documentation license 1.3 or later. .. index:: Eye Tracker, User Interface, Accessibility, Physical Disability .. _label_name: eye_tracker ==================================================== An Example Setup for Using Krita with an Eye Tracker ==================================================== .. attention:: This is not a reference document. It is based on the experiences of only one user. The information might not be as applicable when using different eye tracker devices or different control software. Eye tracker devices are becoming more affordable and they are finding their way into more computer setups. Although these devices are used by various types of users, we will mainly focus on users who have physical disabilities and can only use their eyes to interact with the computer. If you don't already have experience with such a case, here are a few things you'll need to know before you start: - The eye tracker needs to be properly calibrated such that the pointer will be very close to the point where the user is looking at. This might be difficult to achieve, especially if the positioning of the eye tracker with respect to the user can not be fixed between different sessions. - The lack of accuracy in control makes it nearly impossible to hit small areas on the screen such as small buttons or menu items. Corners and edges of the screen might be difficult to reach too. You also don't want to put interface elements close to one another since it increases the chances of selecting the wrong element accidentally. - Mouse operations like single click, double click, right click, drag and drop, etc. all demand extra effort in the form of switching modes in the program that controls the device. You will want to keep these switches to a minimum so that the work will not be interrupted frequently. - Switching the mode doesn't automatically start the operation. You need an extra action for that. In our case, this action is "dwelling". - For example, to start a program, you switch to left double click mode and + For example, to start a program, you switch to the left double click mode and then dwell on the icon for the application to activate the double click. - Adjusting the dwell time is an important trade off: shorter dwell times allow + Adjusting the dwell time is an important tradeoff: shorter dwell times allow for faster work but are also more error-prone. Requirements ------------ -Beside the -obvious- requirement of having an eye tracker device, you will +Besides the `obvious` requirement of having an eye tracker device, you will also need a control program that will let you interact with the device. When you obtain the device, such a program will most probably be provided to you but that program might not be sufficient for using the device with Krita. One of the basic functionalities of these programs is to emulate mouse clicks. In our case, the program provides a hovering menu which includes large buttons for switching modes between left/right mouse buttons and single/double clicks. After selecting the mode, the hovering menu can be collapsed so that it will leave more screen space for the application. In order to make them easier to configure and use, some programs include only basic modes like single clicks. This is sufficient for many popular applications like e-mail agents and browsers, but for Krita you need the drag and drop mode to be able to draw. If the provided control software doesn't support this mode (usually called "mouse emulation"), you can contact the manufacturer of the device for assistance, or look for open source options. Starting Krita -------------- Basically, setting the control program to left double click mode and dwelling on the Krita icon on the desktop would be enough to start up Krita but there are some issues with this: - On startup, Krita asks you to choose a template. It's likely that you don't want to go through this setting every time and just want to start with a blank template. - Later, saving the document will require interacting with the file save dialog which is not very friendly for this type of use. A workaround for these issues could be creating and saving a blank template and running a script that will copy this template under a new name and send it to Krita. Here's an example script for Windows which uses a timestamp suffix to make sure that each file will have a different name (replace USERNAME with the actual user name):: @echo off for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%" set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%" set filename=USERNAME_%fullstamp%.kra copy "C:\Users\USERNAME\Pictures\blank.kra" "%filename%" start "C:\Program Files\Krita (x64)\bin\krita.exe" "%filename%" Double clicking on this script will create a new Krita file in the same folder as the script file. Since the file already has a name, the file save dialog will be avoided. Combined with autosaving, this can be an efficient way to save your work. .. tip:: Storing these files directly on a cloud storage service will be even safer. You might also deal with some timing issues when starting Krita: - After the icon for Krita or for the script is double clicked and Krita starts loading, lingering on the icon will start a second instance. - Similarly, after double clicking, if another window is accidentally brought to the foreground, Krita might start up partially visible behind that window. To prevent these problems, it will help if the users train themselves to look at some harmless spot (like an empty space on the desktop) until Krita is loaded. Layout ------ Since the interface elements need to be large, you have to use the screen area -economically. Running in full screen mode and getting rid of unused menus +economically. Running in full-screen mode and getting rid of unused menus and toolbars are the first steps that you can take. Here's the screenshot of our layout: .. image:: /images/eyetracker_layout_screenshot.png :width: 800 :align: center :alt: Screenshot of Krita when used with an eye tracker. You will want to put everything you need somewhere you can easily access. For our drawings, the essential items are brushes and colors. So we've decided to place permanent dockers for these. Krita features many brushes but the docker has to contain a limited number of those so that the brush icons can be large enough. We recommend that you create :ref:`a custom brush preset to your own liking `. There are various tools for selecting color but most of them are not easily usable since they require quite a high level of mouse control. The Python Palette Docker is the simplest to use where you select from a set of predefined colors, similar to brush presets. Again, similarly to brush selection, it will help to create a :ref:`custom set of favorite colors `. Once you are happy with your layout, another feature that will help you is to lock the dockers. It's possible to accidentally close or move dockers. For example, in drag and drop mode you can accidentally grab a docker and drag it across the screen. To prevent this, put the following setting in the :file:`kritarc` file:: LockAllDockerPanels=true (Check the :ref:`KritaFAQ` for how to find the configuration kritarc file on your system.) If you're using a hovering mouse control menu like we do, you also have to figure out where to place it when it's collapsed. Put it somewhere where it will be easily accessible but where it will not interfere with Krita. On the screenshot you can see it at the left edge of the screen. Summary ------- In summary, we work as explained below. To start Krita: #. On the desktop, pull up the hovering mouse menu and select left double click mode. #. Double click on the new drawing creation script. Look away at some harmless spot until Krita loads. Drawing with Krita: #. Switch to left single click mode. #. Select a brush and/or color using the dockers. #. Switch to drag and drop mode. You're ready to draw. #. Go to the point where you want to start a stroke and dwell until dragging starts (this emulates pressing and holding your finger on the mouse button). #. Draw. #. When you want to finish the current stroke, dwell at the ending point until you get out of dragging (this emulates lifting your finger from the mouse button). #. Repeat the whole process. Finishing: #. Switch to left single click mode. #. Click on the button for closing the window. #. When warned about unsaved changes, click the button for saving the file. diff --git a/user_manual/autosave.rst b/user_manual/autosave.rst index fc16a5193..fa9bb1027 100644 --- a/user_manual/autosave.rst +++ b/user_manual/autosave.rst @@ -1,142 +1,142 @@ .. meta:: :description: How AutoSave and Backup Files Work in Krita .. metadata-placeholder :authors: - Boudewijn Rempt :license: GNU free documentation license 1.3 or later. .. index:: ! Saving, Autosave, Backup .. _autosave: ================================= Saving, AutoSave and Backup Files ================================= Krita does its best to keep your work safe. But if you want to make sure that you won't lose work, you will need to understand how Saving, AutoSave and Backup Files work in Krita. Saving ------ Krita does not store your images somewhere without your intervention. You need to save your work, or it will be lost, irretrievably. Krita can save your images in many formats. You should always save your work in Krita's native format, ``.kra`` because that supports all Krita's features. Additionally, you can export your work to other formats, for compatibility with other applications or publication on the Web or on paper. Krita will warn which aspects of your work are going to be lost when you save to another format than ``.kra`` and offers to make a ``.kra`` file for you as well. If you save your work, Krita will ask you where it should save on your computer. By default, this is the Pictures folder in your User folder: this is true for all operating systems. -If you use "Save As" your image will be saved under a new name. The original file under its own name are not deleted. From now on, your file will be saved under the new name. +If you use "Save As" your image will be saved under a new name. The original file under its own name will not be deleted. From now on, your file will be saved under the new name. If you use "Export" using a new filename, a new file will be created with a new name. The file you have open will keep the new name, and the next time you save it, it will be saved under the old name. You can Save, Save As and Export to any file format. See also :ref:`Saving for the Web ` AutoSave -------- AutoSave is what happens when you've worked for a bit and not saved your work yourself: Krita will save your work for you. Autosave files are by default visible in your file manager. You can configure Krita 4.2 and up to create autosave files that are visible in your file manager. By default, Krita autosaves every fifteen minutes; you can configure that in the File tab of the General Settings page of the Configure Krita dialog, which is in the Settings menu (Linux, Windows) or in the Application menu (macOS). If you close Krita without saving, your unsaved work is lost and cannot be retrieved. Closing Krita normally also means that autosave files are removed. .. image:: /images/file_config_page.png There are two possibilities: - You hadn't saved your work at all - You had saved your work already AutoSave for Unsaved Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you had not yet saved your work, Krita will create an unnamed AutoSave file. If you're using Linux or macOS, the AutoSave file will be a hidden file in your home directory. If you're using Windows, the AutoSave file will be a file in your user's ``%TEMP%`` folder. In Krita 4.2 and up, you can configure Krita to make the AutoSave files visible by default. A hidden autosave file will be named like ``.krita-12549-document_1-autosave.kra`` If Krita crashes before you had saved your file, then the next time you start Krita, you will see the file in a dialog that shows up as soon as Krita starts. You can select to restore the files, or to delete them. .. image:: /images/autosave_unnamed_restore.png If Krita crashed, and you're on Windows and your ``%TEMP%`` folder gets cleared, you will have lost your work. Windows does not clear the ``%TEMP%`` folder by default, but you can enable this feature in Settings. Applications like Disk Cleanup or cCleaner will also clear the ``%TEMP%`` folder. Again, if Krita crashes, and you haven't saved your work, and you have something enabled that clear your ``%TEMP%`` folder, you will have lost your work. -If Krita doesn't crash, and you close Krita without saving your work, Krita will remove the AutoSave file: you work will be gone and cannot be retrieved. +If Krita doesn't crash, and you close Krita without saving your work, Krita will remove the AutoSave file: your work will be gone and cannot be retrieved. If you save your work and continue, or close Krita and do save your work, the AutoSave file will be removed. AutoSave for Saved Files ~~~~~~~~~~~~~~~~~~~~~~~~ If you had already saved your work, Krita will create a named AutoSave file. A hidden named autosave file will look like ``.myimage.kra-autosave.kra``. -By default, named AutoSave files are hiden. Named AutoSave files are placed in the same folder as the file you were working on. +By default, named AutoSave files are hidden. Named AutoSave files are placed in the same folder as the file you were working on. If you start Krita again after it crashed and try to open your original file, Krita will ask you whether to open the AutoSave file instead: .. image:: /images/autosave_named_restore.png -If you choose "no", the AutoSave file will be removed. The work done since the last time you saved your file yourself is lost and cannot be retrieved. +If you choose "no", the AutoSave file will be removed. The work that has been done since the last time you saved your file yourself will be lost and cannot be retrieved. If you choose "yes", the AutoSave file will be opened, then removed. The file you have open will have the name of your original file. The file will be set to Modified, so the next time you try to close Krita, Krita will ask you whether you want to save the file. If you choose No, your work is irretrievably gone. It cannot be restored. If you use "Save As" your image will be saved under a new name. The original file under its own name and its AutoSave file are not deleted. From now on, your file will be saved under the new name; if you save again, an AutoSave file will be created using the new filename. If you use "Export" using a new filename, a new file will be created with a new name. The file you have open will keep the new name, and the next time you save it, the AutoSave file will be created from the last file saved with the current name, that is, not the name you choose for "Export". Backup Files ------------ There are three kinds of Backup files - Ordinary Backup files that are created when you save a file that has been opened from disk - Incremental Backup files that are copies of the file as it is on disk to a numbered backup, and while your file is saved under the current name - Incremental Version files that are saves of the file you are working on with a new number, leaving alone the existing files on disk. Ordinary Backup Files ~~~~~~~~~~~~~~~~~~~~~ If you have opened a file, made changes, then save it, or save a new file after the first time you've saved it, Krita will save a backup of your file. You can disable this mechanism in the File tab of the General Settings page of the Configure Krita dialog, which is in the Settings menu (Linux, Windows) or in the Application menu (macOS). By default, Backup files are enabled. .. image:: /images/file_config_page.png By default, a Backup file will be in the same folder as your original file. You can also choose to save Backup files in the User folder or the ``%TEMP%`` folder; this is not as safe because if you edit two files with the same name in two different folders, their backups will overwrite each other. -By default, a Backup file will have ``~`` as suffix, to distinguish it from an ordinary file. If you are using Windows, you will have to enable "show file extensions" in Windows Explorer to see the extension. +By default, a Backup file will have ``~`` as a suffix, to distinguish it from an ordinary file. If you are using Windows, you will have to enable "show file extensions" in Windows Explorer to see the extension. .. image:: /images/file_and_backup_file.png If you want to open the Backup file, you will have to rename it in your file manager. Make sure the extension ends with ``.kra``. Every time you save your file, the last version without a ``~`` suffix will be copied to the version with the ``~`` suffix. The contents of the original file will be gone: it will not be possible to restore that version. Incremental Backup Files ~~~~~~~~~~~~~~~~~~~~~~~~ Incremental Backup files are similar to ordinary Backup files: the last saved state is copied to another file just before saving. However, instead of overwriting the Backup file, the Backup files are numbered: .. image:: /images/save_incremental_backup.png Use this when you want to keep various known good states of your image throughout your painting process. This takes more disk space, of course. Do not be confused: Krita does not save the current state of your work to the latest Incremental file, but copies the last saved file to the Backup file and then saves your image under the original filename. Incremental Version Files ~~~~~~~~~~~~~~~~~~~~~~~~~ -Incremental Version works a bit like Incremental Backup, but it leaves the original files alone. Instead it will save a new file with a file number: +Incremental Version works a bit like Incremental Backup, but it leaves the original files alone. Instead, it will save a new file with a file number: .. image:: /images/save_incremental_version.png diff --git a/user_manual/gamut_masks.rst b/user_manual/gamut_masks.rst index 08a9f536e..50c690c14 100644 --- a/user_manual/gamut_masks.rst +++ b/user_manual/gamut_masks.rst @@ -1,98 +1,98 @@ .. meta:: :description: Basics of using gamut masks in Krita. .. metadata-placeholder :authors: - - Anna Medonosova :license: GNU free documentation license 1.3 or later. .. index:: Gamut Masks .. _gamut_masks_basics: =========== Gamut Masks =========== .. versionadded:: 4.2 Gamut masking is an approach to color formalized by James Gurney, based on the idea that any color scheme can be expressed as shapes cut out from the color wheel. -It originates in the world of traditional painting,as a form of planning and premixing palettes. However, it translates well into digital art, enabling you to explore and analyze color, plan color schemes and guide your color choices. +It originates in the world of traditional painting, as a form of planning and premixing palettes. However, it translates well into digital art, enabling you to explore and analyze color, plan color schemes and guide your color choices. How does it work? You draw one or multiple shapes on top of the color wheel. You limit your color choices to colors inside the shapes. By leaving colors out, you establish a relationship between the colors, thus creating harmony. Gamut masking is available in both the Advanced and Artistic Color Selectors. .. seealso:: - `Color Wheel Masking, Part 1 by James Gurney `_ - `The Shapes of Color Schemes by James Gurney `_ - `Gamut Masking Demonstration by James Gourney (YouTube) `_ Selecting a gamut mask ---------------------- For selecting and managing gamut masks open the :ref:`gamut_mask_docker`: :menuselection:`Settings --> Dockers --> Gamut Masks`. .. figure:: /images/dockers/Krita_Gamut_Mask_Docker.png Gamut Masks docker In this docker you can choose from several classic gamut masks, like the ‘Atmospheric Triad’, ‘Complementary’, or ‘Dominant Hue With Accent’. You can also duplicate those masks and make changes to them (3,4), or create new masks from scratch (2). Clicking the thumbnail icon (1) of the mask applies it to the color selectors. .. seealso:: - :ref:`gamut_mask_docker` In the color selector --------------------- You can rotate an existing mask directly in the color selector, by dragging the rotation slider on top of the selector (2). The mask can be toggled off and on again by the toggle mask button in the top left corner (1). .. figure:: /images/dockers/GamutMasks_Selectors.png Advanced and Artistic color selectors with a gamut mask .. seealso:: - :ref:`artistic_color_selector_docker` - :ref:`advanced_color_selector_docker` Editing/creating a custom gamut mask ------------------------------------ .. tip:: To rotate a mask around the center point use the rotation slider in the color selector. -If you choose to create a new mask, edit, or duplicate selected mask, the mask template documents opens as a new view (1). +If you choose to create a new mask, edit, or duplicate selected mask, the mask template documents open as a new view (1). There you can create new shapes and modify the mask with standard vector tools (:ref:`vector_graphics`). Please note, that the mask is intended to be composed of basic vector shapes. Although interesting results might arise from using advanced vector drawing techniques, not all features are guaranteed to work properly (e.g. grouping, vector text, etc.). .. warning:: Transformations done through the transform tool or layer transform cannot be saved in a gamut mask. The thumbnail image reflects the changes, but the individual mask shapes do not. You can :guilabel:`Preview` the mask in the color selector (4). If you are satisfied with your changes, :guilabel:`Save` the mask (5). :guilabel:`Cancel` (3) will close the editing view without saving your changes. .. figure:: /images/dockers/Krita_Gamut_Mask_Docker_2.png Editing a gamut mask Importing and exporting ----------------------- Gamut masks can be imported and exported in bundles in the Resource Manager. See :ref:`resource_management` for more information. diff --git a/user_manual/getting_started/basic_concepts.rst b/user_manual/getting_started/basic_concepts.rst index dd2c11b9b..94c191440 100644 --- a/user_manual/getting_started/basic_concepts.rst +++ b/user_manual/getting_started/basic_concepts.rst @@ -1,381 +1,381 @@ .. meta:: :description lang=en: An overview of the basic concepts of Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Irina Rempt - Tokiedian - AnetK - JakeD - Yuri Chornoivan :license: GNU free documentation license 1.3 or later. .. index:: Basic Concepts, Color, Tools, View, Window, Filters, Transform, Grid, Guides, Layers, Masks, Vector .. _basic_concepts: ============== Basic Concepts ============== If this is your first foray into digital painting, this page should give you a brief introduction to the basic but important concepts required for getting started with digital painting in Krita. -Although very lengthy, this page tries to give a brief overview of some of the krita's most important functionality; it tries to help you grasp the functions of various menu and buttons in Krita without going into minute details. +Although very lengthy, this page tries to give a brief overview of some of the Krita's most important functionality; it tries to help you grasp the functions of various menu and buttons in Krita without going into minute details. .. contents:: Raster and Vector ----------------- Even though Krita is regarded primarily a raster based application, it has some vector editing capabilities as well. If you are new to digital painting medium, it is necessary that you first get yourself acquainted with the concepts of raster and :ref:`Vector ` based images. In digital imaging, a pixel (Picture Element) is a basic and lowest element of an Image. It is basically a grid of points each displaying specific color. Raster editing is manipulating and editing these pixels. For example when you take a 1-pixel brush which is colored black and painting on the white canvas in Krita you are actually changing the color of the pixel beneath your brush from white to black. When you zoom in and see a brush stroke you can notice many small squares with colors, these are pixels: .. image:: /images/Pixels-brushstroke.png :align: center In contrast to raster images, vector graphic images are based on mathematical expressions. They are independent of the pixels. For example, when you draw a rectangle on a :ref:`vector layer ` in Krita you are actually drawing paths passing through points that are called nodes, which are located on specific coordinates on the 'x' and 'y' axes. When you re-size or move these points the computer calculates and redraws the path and displays the newly formed shape to you. Hence you can re-size the vector shape to any extent without any loss in quality. In Krita, everything which is not on a vector layer is raster based. Images, Views and Windows ------------------------- In a painting program, there are three major containers that make up your work-space. Image ~~~~~ The most important one is the **Image**. This is an individual copy of the image that you can open or create via the file dialog. Krita allows you to open the file as a new copy via the :guilabel:`File` menu, or to save it as a new file, or make an incremental copy. An image contains data regarding layers, color space of image and layers, canvas size and metadata such as creator, date created and DPI et cetera. Krita can open multiple images at once, you can switch between them via the :guilabel:`Window` menu. Because the image is a working copy of the image on the hard drive, you can do a lot of little saving tricks with it: New Makes a new image. When you press :menuselection:`Save`, you make a new file on the hard drive. Open Makes an internal copy of an existing image. When you press :menuselection:`Save`, you will overwrite the original existing image with your working copy. Open the existing Document as Untitled Document Similar to :menuselection:`Open`, however, :menuselection:`Save` will request you to specify a saving location: you're making a new copy. This is similar to :menuselection:`Import` in other programs. Create Copy From Current Image Similar to :menuselection:`Open existing Document as Untitled Document` but with the currently selected image. Save incremental Allows you to quickly make a snapshot of the current image by making a new file with a version number added to it. These options are great for people doing production work, who need to switch between files quickly or have backup files in case they do something extreme. Krita also has a file backup system in the form of auto-saves, backup files and crash recovery. You can configure the option for these features in the general settings. You view the image via a **View**. View ~~~~ A view is a window onto your image. Krita allows you to have multiple views, and you can manipulate the view to zoom, rotate and mirror and modify the color of the way you see an image without editing the image itself. This is very useful for artists, as changing the way they view the image is a common way to diagnose some common mistakes, like a drawing which is skewed towards one side. Mirroring with :kbd:`M` makes such skewing easy to identify. If you have trouble drawing certain curves you will enjoy using rotation for drawing, and of course, there is zooming in and out for precision and rough work. .. figure:: /images/Krita_multiple_views.png :align: center Multiple views of the same image in Krita Multiple views are possible in Krita via :menuselection:`Window --> New view --> image name`. You can switch between them via the :guilabel:`Window` menu, or :kbd:`Ctrl + Tab`, or keep them in the same area when **subwindow** mode is active in the :ref:`settings `, via :menuselection:`Window --> Tile`. Dockers ~~~~~~~ Dockers are little subwindows in :ref:`Krita's interface `. They contain useful tools, like the color selector, layer stack, tool options, et cetera. .. image:: /images/dockers/Dockers.png :align: center The image above shows some of the dockers in Krita. All the views and the dockers are held inside **Windows**. Window ~~~~~~ If you've used a computer before, you know what windows are: They are big containers for your computer programs. Krita allows you to have multiple windows via :menuselection:`Window --> New Window`. You can then drag this to another monitor for multi-monitor use. The image below shows an example of multiple windows in Krita. .. image:: /images/Multi-window.png :align: center Canvas in Krita --------------- When you create a new document in Krita for the first time you will see a rectangular white area. This is called a canvas. You can see it in the image below. The area marked by a red rectangle is a canvas. .. image:: /images/Canvas-krita.png :align: center When you save the painting as jpg, png et cetera or take a print out of the painting, only the content inside this area is taken into consideration. Anything beyond it is ignored. Krita does store information beyond this area, you just won't be able to see it. This data is stored in the **Layers**. Layers and Compositing ---------------------- Like a landscape painter will first paint the sky and then the furthest away elements before slowly working his way to the foreground elements, computers will do the same with all the things you tell them to draw. So, if you tell them to draw a circle after a square on the same spot, the circle will always be drawn later. This is called the **Drawing Order**. The layer stack is a way for you to separate elements of a drawing and manipulate the drawing order by showing you which layers are drawn when and allowing you to change the order they are drawn in and also apply all sorts of other effects. This is called **Compositing**. This allows you to have line art above the colors, or trees before the mountains, and edit each without affecting the other. Krita has many layer-types, each layer type is unique and has its own usecase: :ref:`paint_layers` These are raster layers, and the most common and default layer type in Krita, you will be painting on these. :ref:`vector_layers` This is a layer type on which you draw vector graphics. Vector graphics are typically more simple than raster graphics and with the benefit that you can deform them with less blurriness. :ref:`group_layers` These allow you to group several layers via drag and drop, so you can organize, move, apply masks and perform other actions on them together. :ref:`clone_layers` These are copies of the layer you selected when making them. They get updated automatically when changing the original. :ref:`file_layers` These refer to an existing image outside of Krita and update as soon as the outside image updates. Useful for logos and emblems that change a lot. :ref:`fill_layers` These layers are filled with something that Krita can make up on the fly, like colors or patterns. :ref:`filter_layers` - These layer type help us to apply some filters which will affect a composite image made from all the layers beneath them. + These layers help us to apply some filters which will affect a composite image made from all the layers beneath them. You can manipulate the content of the layers with **Tools**. Tools ----- Tools help you manipulate the image data. The most common one is of course, the freehand brush, which is the default when you open Krita. There are roughly five types of tools in Krita: Paint Tools These are tools for painting on paint layers. They describe shapes, like rectangles, circles and straight lines, but also freehand paths. These shapes then get used by the Brush engines to make shapes and drawing effects. Vector Tools This is the upper row of tools, which are used to edit vectors. Interestingly enough, all paint tools except the freehand brush allow you to draw shapes on the vector layers. The resulting object won't use the brush preset for outline unlike the ones made with paint tools on normal layer. Selection Tools Selections allow you to edit a very specific area of the layer you are working on without affecting the others. The selection tools allow you to draw or modify the current selection. This is like using masking-fluids in traditional painting method, but whereas using masking fluids and film is often messy and delicate, selections are far easier to use. Guide Tools These are tools like grids and assistants. Transform Tools These are tools that allow you to transform your layer or object on the canvas. All tools can be found in the toolbox, and information about individual tools can be found in the :ref:`tools ` section of the manual. Brush Engines ------------- Brush engines, as mentioned before, take a path and tablet information and add effects to it, making a stroke. Engine is a term Krita developers use to describe a complex interacting set of code, that is the core for certain functionality and is highly configurable. In short, like the engine of your car drives your car, and the type of engine and its configuration affects how you use your car, the brush engine drives the look and feel of the brush, and different brush engines have different results. Krita has :ref:`a LOT of different brush engines `, all with different effects. .. figure:: /images/brushes/Krita_example_differentbrushengines.png :align: center **Left:** pixel brush, **Center:** color smudge brush, **Right:** sketch brush For example, the pixel-brush engine is simple and allows you to do most of your basic work, but if you do a lot of painting, the color smudge brush engine might be more useful. Even though it's slower to use than the Pixel Brush engine, its mixing of colors allows you to work faster when you need to blend and mix colors. If you want something totally different from that, the sketch brush engine helps with making messy lines, and the shape brush engine allows you to make big flats quickly. There are a lot of cool effects inside Krita's brush engines, so try them all out, and be sure to check the chapters on each. You can configure these effects via the Brush Settings drop-down, which can be quickly accessed via :kbd:`F5`. These configurations can then be saved into presets, which you can quickly access with :kbd:`F6` or the Brush Presets docker. Brushes draw with colors, but how do computers understand colors? Colors ------ Humans can see a few million colors, which are combinations of electromagnetic waves (light) bouncing off a surface, where the surface absorbs some of it. .. figure:: /images/Krita_basics_primaries.png :align: center Subtractive CMY colors on the left and additive RGB colors on the right. This difference means that printers benefit from color conversion before printing When painting traditionally, we use pigments which also absorb the right light-waves for the color we want it to have, but the more pigments you combine, the more light is absorbed, leading to a kind of murky black. This is why we call the mixing of paints **subtractive**, as it subtracts light the more pigments you put together. Because of that, in traditional pigment mixing, our most efficient primaries are three fairly light colors: Cyan blue and Magenta red and Yellow (CMY). A computer also uses three primaries and uses a specific amount of each primary in a color as the way it stores color. However, a computer is a screen that emits light. So it makes more light, which means it needs to do **additive** mixing, where adding more and more colored lights result in white. This is why the three most efficient primaries, as used by computers are Red, Green and Blue (RGB). Per pixel, a computer then stores the value of each of these primaries, with the maximum depending on the bit-depth. These are called the **components** or **channels** depending on who you talk to. .. figure:: /images/Krita_basic_channel_rose.png :align: left This is the red-channel of an image of a red rose. As you can see, the petals are white here, indicating that those areas contain full red. The leaves are much darker, indicating a lack of red, which is to be expected, as they are green. Though by default computers use RGB, they can also convert to CMYK (the subtractive model), or a perceptual model like LAB. In all cases this is just a different way of indicating how the colors relate to each other, and each time it usually has 3 components. The exception here is grayscale, because the computer only needs to remember how white a color is. This is why grayscale is more efficient memory-wise. In fact, if you look at each channel separately, they also look like grayscale images, but instead white just means how much Red, Green or Blue there is. Krita has a very complex color management system, which you can read more about :ref:`here `. Transparency ~~~~~~~~~~~~ Just like Red, Green and Blue, the computer can also store how transparent a pixel is. This is important for **compositing** as mentioned before. After all, there's no point in having multiple layers if you can't have transparency. Transparency is stored in the same way as colors, meaning that it's also a channel. We usually call this channel the **alpha channel** or **alpha** for short. The reason behind this is that the letter 'α' is used to represent it in programming. Some older programs don't always have transparency by default. Krita is the opposite: it doesn't understand images that don't track transparency, and will always add a transparency channel to images. When a given pixel is completely transparent on all layers, Krita will instead show a checkerboard pattern, like the rose image shown above. Blending modes ~~~~~~~~~~~~~~ Because colors are stored as numbers you can do maths with them. We call this **Blending Modes** or **Compositing Modes**. Blending modes can be done per layer or per brush stroke, and thus are also part of the compositing of layers. Multiply A commonly used blending mode is for example :menuselection:`Multiply` which multiplies the components, leading to darker colors. This allows you to simulate the subtractive mixing, and thus makes painting shadows much easier. Addition Another common one is :menuselection:`Addition`, which adds one layer's components to the other, making it perfect for special glow effects. Erasing :menuselection:`Erasing` is a blending mode in Krita. There is no eraser tool, but you can toggle on the brush quickly with :kbd:`E` to become an eraser. You can also use it on layers. Unlike the other blending modes, this one only affects the alpha channel, making things more transparent. Normal The :menuselection:`Normal` blend mode just averages between colors depending on how transparent the topmost color is. Krita has 76 blending modes, each doing slightly different things. Head over to the :ref:`blending_modes` to learn more. Because we can see channels as grayscale images, we can convert grayscale images into channels. Like for example, we can use a grayscale image for the transparency. We call these **Masks**. Masks ----- Masks are a type of sub-effect applied to a layer, usually driven by a grayscale image. The primary types of mask are :ref:`transparency_masks`, which allow you to use a grayscale image to determine transparency, where black makes everything transparent and white makes the pixel fully opaque. You can paint on masks with any of the brushes, or convert a normal paint-layer to a mask. The big benefit of masks is that you can make things transparent without removing the underlying pixels. Furthermore, you can use masks to reveal or hide a whole group layer at once! For example, we have a white ghost lady here: .. image:: /images/Krita_ghostlady_1.png :align: center But you can't really tell whether she's a ghost lady or just really really white. If only we could give the idea that she floats. We right-click the layer and add a transparency mask. Then, we select that mask and draw with a black and white linear gradient so that the black is below. .. image:: /images/Krita_ghostlady_2.png :align: center Wherever the black is, there the lady now becomes transparent, turning her into a real ghost! The name mask comes from traditional masking fluid and film. You may recall the earlier comparison of selections to traditional masking fluid. Selections too are stored internally as grayscale images, and you can save them as a local selection which is kind of like a mask, or convert them to a transparency mask. Filters ------- We mentioned earlier that you can do maths with colors. But you can also do maths with pixels, or groups of pixels or whole layers. In fact, you can make Krita do all sorts of little operations on layers. We call these operations **Filters**. Examples of such operations are: Desaturate This makes all the pixels turn gray. Blur This averages the pixels with their neighbors, which removes sharp contrasts and makes the whole image look blurry. Sharpen This increases the contrast between pixels that had a pretty high contrast to begin with. Color to Alpha A popular filter which makes all of the chosen color transparent. .. figure:: /images/Krita_basic_filter_brush.png :align: right Different filter brushes being used on different parts of the image. Krita has many more filters available: you can read about them :ref:`here `. :ref:`filter_brush_engine` ~~~~~~~~~~~~~~~~~~~~~~~~~~ Because many of these operations are per pixel, Krita allows you to use the filter as part of the :ref:`filter_brush_engine`. In most image manipulation software, these are separate tools, but Krita has it as a brush engine, allowing much more customization than usual. This means you can make a brush that desaturates pixels, or a brush that changes the hue of the pixels underneath. Filter Layers, Filter Masks and Layer Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Krita also allows you to let the Filters be part of the layer stack, via :ref:`filter_layers` and :ref:`filter_masks`. Filter Layers affect all the layers underneath it in the same hierarchy. Transparency and transparency masks on Filter Layers affect where the layer is applied. Masks, on the other hand, can affect one single layer and are driven by a grayscale image. They will also affect all layers in a group, much like a transparency mask. We can use these filters to make our ghost lady look even more ethereal, by selecting the ghost lady's layer, and then creating a clone layer. We then right click and add a filter mask and use gaussian blur set to 10 or so pixels. The clone layer is then put behind the original layer, and set to the blending mode '**Color Dodge**', giving her a definite spooky glow. You can keep on painting on the original layer and everything will get updated automatically! .. image:: /images/Krita_ghostlady_3.png :align: center -Layer Effects or Layer Styles are filterm masks popularised by :program:`Photoshop's` that are a little faster than regular masks, but not as versatile. They are available by right clicking a layer and selecting 'layer style'. +Layer Effects or Layer Styles are filter masks popularised by :program:`Photoshop's` that are a little faster than regular masks, but not as versatile. They are available by right clicking a layer and selecting 'layer style'. Transformations --------------- **Transformations** are kind of like filters, in that these are operations done on the pixels of an image. We have a regular image and layer wide transformations in the image and layer top menus, so that you may resize, flip and rotate the whole image. We also have the :ref:`crop_tool`, which only affects the canvas size, and the :ref:`move_tool` which only moves a given layer. However, if you want more control, Krita offers a :ref:`transform_tool`. .. image:: /images/tools/Krita_transforms_free.png :align: center With this tool you can rotate and resize on the canvas, or put it in perspective. Or you can use advanced transform tools, like the warp, cage and liquify, which allow you to transform by drawing custom points or even by pretending it's a transforming brush. :ref:`deform_brush_engine` ~~~~~~~~~~~~~~~~~~~~~~~~~~ Like the filter brush engine, Krita also has a Deform Brush Engine, which allows you to transform with a brush. The deform is like a much faster version of the Liquify transform tool mode, but in exchange, its results are of much lower quality. .. figure:: /images/tools/Krita_transforms_deformvsliquefy.png :align: center Apple transformed into a pear with liquify on the left and deform brush on the right. Furthermore, you can't apply the deform brush as a non-destructive mask. :ref:`transformation_masks` ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Like filters, transforms can be applied as a non-destructive operation that is part of the layer stack. Unlike filter and transparency masks however, transform masks can't be driven by a grayscale image, for technical reasons. You can use transform masks to deform clone and file layers as well. :ref:`animation` ---------------- .. image:: /images/animation/Introduction_to_animation_walkcycle_02.gif :align: center From version 3.0 onwards, Krita got raster animation support. You can use the timeline, animation and onionskin dockers, plus Krita's amazing variety of brushes to do raster based animations, export those, and then turn them into movies or gifs. Assistants, Grids and Guides ---------------------------- -With all this technical stuff, you might forget that Krita is a painting program. Like how when working with traditional medium, as an illustrator we can have all sorts of equipment to make drawing easier, Krita also offers a variety of tools: +With all this technical stuff, you might forget that Krita is a painting program. Like how when working with traditional medium, as an illustrator, you can have all sorts of equipment to make drawing easier, Krita also offers a variety of tools: .. figure:: /images/assistants/Krita_basic_assistants.png :align: center Krita's vanishing point assistants in action :ref:`grids_and_guides_docker` A very straightforward guiding tool which shows grids or guiding lines that can be configured. :ref:`snapping` You can snap to all sorts of things. Grids, guides, extensions, orthogonals, image centers and bounding boxes. :ref:`painting_with_assistants` Because you can hardly put a ruler against your tablet to help you draw, the assistants are there to help you draw concentric circles, perspectives, parallel lines and other easily forgotten but tricky to draw details. Krita allows you to snap to these via the tool options as well. These guides are saved into Krita's native format, which means you can pick up your work easily afterward. Customization ------------- This leads to the final concept: customization. In addition to rearranging the dockers according to your preferences, Krita provides and saves your configurations as :ref:`resource_workspaces`. This is the button at the top right. You can also configure the toolbar via :menuselection:`Settings --> Configure Toolbars`, as well as the shortcuts under both :menuselection:`Settings --> Configure Krita --> Configure Shortcuts` and :menuselection:`Settings --> Configure Krita --> Canvas Input Settings`. diff --git a/user_manual/loading_saving_brushes.rst b/user_manual/loading_saving_brushes.rst index e5fd7c725..b285dbea9 100644 --- a/user_manual/loading_saving_brushes.rst +++ b/user_manual/loading_saving_brushes.rst @@ -1,485 +1,485 @@ .. meta:: :description: Detailed guide on the brush settings dialog in Krita as well as how to make your own brushes and how to share them. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Brush Settings .. _loading_saving_brushes: ========================== Loading and Saving Brushes ========================== In the real world, when painting or drawing, you don't just use one tool. You use pencils, erasers, paintbrushes, different types of paint, inks, crayons, etc. All these have different ways of making marks. In a digital program like Krita you have something similar. We call this a brush engine. And much like how cars have different engines that give different feels when driving, or how pencils make distinctly different marks than rollerball pens, different brush engines have totally different feels. The brush engines have a lot of different settings as well. So, you can save those settings into presets. Unlike Photoshop, Krita makes a difference between brush-tips and brush-presets. Tips are only a stamp of sorts, while the preset uses a tip and many other settings to create the full brush. The Brush settings drop-down ---------------------------- To start, the Brush Settings Editor panel can be accessed in the toolbar, between the :guilabel:`Blending Modes` button on the right and the :guilabel:`Patterns` button on the left. Alternately, you can use the function key :kbd:`F5` to open it. When you open Brush Settings Editor panel you will see something like this: Tour of the brush settings drop-down ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: /images/brushes/Krita_4_0_Brush_Settings_Layout.svg :width: 800 The brush settings drop-down is divided into six areas, Section A - General Information ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This contains the **Preset Icon**, **Live Brush Preview**, the **Preset Name**, the **Engine** name, and several buttons for saving, renaming, and reloading. Krita's brush settings are stored into the metadata of a 200x200 png (the KPP file), where the image in the png file becomes the preset icon. This icon is used everywhere in Krita, and is useful for differentiating brushes in ways that the live preview cannot. The live preview shows a stroke of the current brush as a little s-curve wiggle, with the pressure being non-existent on the left, and increasing to full pressure as it goes to the right. It can thus show the effect of the Pressure, Drawing Angle, Distance, Fade and Fuzzy Dab sensors, but none of the others. For some brush engines it cannot show anything. For the color smudge, filter brush and clone tool, it shows an alternating line pattern because these brush engines use the pixels already on canvas to change their effect. After the preset name, there's a button for **renaming** the brush. This will save the brush as a new brush and blacklist the previous name. Engine '''''' The engine of a brush is the underlying programming that generates the stroke from a brush. What that means is that different brush engines have different options and different results. You can see this as the difference between using crayons, pencils and inks, but because computers are maths devices, most of our brush engines produce different things in a more mathematical way. For most artists the mathematical nature doesn't matter as much as the different textures and marks each brush engine, and each brush engine has its own distinct flavor and use, and can be further customized by modifying the options. Reloading ''''''''' If you change a preset, an icon will appear behind the engine name. This is the :guilabel:`reload` button. You can use it to revert to the original brush settings. Saving a preset '''''''''''''''' On the right, there's :guilabel:`Save New Brush Preset` and :guilabel:`Overwrite Brush`. Overwrite Brush This will only enable if there are any changes. Pressing this will override the current preset with the new settings, keeping the name and the icon intact. It will always make a timestamped back up in the resources folder. Save New Brush Preset Will take the current preset and all its changes and save it as a new preset. If no change was made, you will be making a copy of the current preset. Save new preset will call up the following window, with a mini scratch pad, and all sorts of options to change the preset icon: .. image:: /images/brushes/Krita_4_0_Save_New_Brush_Preset_Dialog.png The image on the left is a mini scratchpad, you can draw on it with the current brush, allowing small modifications on the fly. Brush Name The Name of your brush. This is also used for the KPP file. If there's already a brush with that name, it will effectively overwrite it. Load Existing Thumbnail This will load the existing thumbnail inside the preset. Load scratch pad thumbnail This will load the dashed area from the big scratch pad (Section C) into the thumbnail area. Load Image With this you can choose an image from disk to load as a thumbnail. Load from Icon Library This opens up the icon library. Clear Thumbnail This will make the mini scratch pad white. The Icon Library '''''''''''''''' To make making presets icons faster, Krita got an icon library. .. image:: /images/brushes/Krita_4_0_Preset_Icon_Library_Dialog.png It allows you to select tool icons, and an optional small emblem. When you press :guilabel:`OK` it will load the resulting combination into the mini scratch pad and you can draw in the stroke. If you go to your resources folder, there's a folder there called "preset\_icons", and in this folder there are "tool\_icons" and "emblem\_icons". You can add semi-transparent pngs here and Krita will load those into the icon library as well so you can customize your icons even more! At the top right of the icon library, there are three sliders. They allow you to adjust the tool icon. The top two are the same Hue and Saturation as in HSL adjustment, and the lowest slider is a super simple levels filter. This is done this way because the levels filter allows maintaining the darkest shadows and brightest highlights on a tool icon, making it much better for quick adjustments. If you're done with everything, you can press :guilabel:`Save` in the :guilabel:`Save New Brush Preset` dialog and Krita will save the new brush. Section B - The Preset Chooser ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The preset chooser is much the same as the preset docker and the preset drop-down on :kbd:`F6`. It's unique in that it allows you to filter by engine and this is also where you can create brushes for an engine from scratch. It is by default collapsed, so you will need to press the arrow at the top left of the brush engine to show it. The top drop-down is set to “all” by default, which means it shows all engines. It then shows a tag section where you can select the tags, the preset list and the search bar. Underneath that there's a plus icon, which when pressed gives you the full list of Krita's engines. Selecting an engine from the list will show the brushes for that engine. The trashcan icon does the same as it does in the preset docker: delete, or rather, blacklist a preset so it won't show up in the list. Section C - The Scratch pad ^^^^^^^^^^^^^^^^^^^^^^^^^^^ When you tweak your brushes, you want to be able to check what each setting does. That's why, to the right of the settings drop-down, there is a scratch pad. It is by default collapsed, so you will have to press the arrow at the top right of the brush settings to show it. When saving a new preset, you can choose to get the icon from the scratch pad, this will load the dash area into the mini scratch pad of the Save New Brush Preset dialog. The scratch pad has four buttons underneath it. These are in order for: #. Showing the current brush image #. Adding a gradient to the scratch pad (useful for smudge brushes) #. Filling with the background color #. Clearing everything on the scratch pad Section D - The Options List ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The options, as stated above, are different per brush engine. These represent the different parameters, toggles and knobs that you can turn to make a brush preset unique. For a couple of options, the main things to change are sliders and check boxes, but for a lot of them, they use curves instead. Some options can be toggled, as noted by the little check boxes next to them, but others, like flow and opacity are so fundamental to how the brush works, that they are always on. The little padlock icon next to the options is for locking the brush. This has its own page. Section E - Option Configuration Widget ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Where section D is the list of options, section E is the widget where you can change things. Using sensor curves ''''''''''''''''''' One of the big important things that make art unique to the artist who created it is the style of the strokes. Strokes are different because they differ in speed, rotation, direction, and the amount of pressure put onto the stylus. Because these are so important, we would want to customize how these values are understood in detail. The best way to do this is to use curves. Curves show up with the size widget for example. With an inking brush, we want to have size mapped to pressure. Just toggling the size option in the option list will do that. However, different people have different wrists and thus will press differently on their stylus. Someone who presses softly tends to find it easy to make thin strokes, but very difficult to make thick strokes. Conversely, someone who presses hard on their stylus naturally will have a hard time making thin strokes, but easily makes thick ones. Such a situation can be improved by using the curves to map pressure to output thinner lines or thicker ones. The brush settings curves even have quick curve buttons for these at the top. Someone who has a hard time making small strokes should try the second to last concave button, while someone who has a hard time making thick strokes should try the third button, the S shape. Underneath the curve widget there are two more options: Share Curves across all settings This is for the list of sensors. Toggling this will make all the sensors use the same curve. Unchecked, all checked sensors will have separate curves. Curves Calculation Mode This indicates how the multiple values of the sensor curves are used. The curves always go from 0 to 1.0, so if one curve outputs 0.5 and the other 0.7, then... Multiply Will multiply the two values, 0.5\*0.7 = 0.35. Addition Will add the two to a maximum of 1.0, so 0.5+0.7 = 1.2, which is then capped at 1.0. Maximum Will compare the two and pick the largest. So in the case of 0.5 and 0.7, the result is 0.7. Minimum Will compare the two and pick the smallest. So in the case of 0.5 and 0.7, the result is 0.5. Difference Will subtract the smallest value from the largest, so 0.7-0.5 = 0.2. It's maybe better to see with the following example: .. image:: /images/brushes/Krita_4_0_brush_curve_calculation_mode.png The first two are regular, the rest with different multiplication types. #. Is a brush with size set to the distance sensor. #. Is a brush with the size set to the fade sensor. #. The size is calculated from the fade and distance sensors multiplied. #. The size is calculated from the fade and distance sensors added to each other. Notice how thick it is. #. The size takes the maximum value from the values of the fade and distance sensors. #. The size takes the minimum value from the values of the fade and distance sensors. #. The size is calculated by having the largest of the values subtracted with the smallest of the values. Section F - Miscellaneous options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Temporarily Save Tweaks to Preset (Dirty Presets) This enables dirty presets. Dirty presets store the tweaks you make as long as this session of Krita is active. After that, they revert to default. Dirtied presets can be recognized by the icon in the top-left of the preset. .. figure:: /images/brushes/Krita_4_0_dirty_preset_icon.png :figwidth: 450 The icon in the top left of the first two presets indicate it is “Dirty”, meaning there are tweaks made to the preset. Eraser Switch Size This switches the brush to a separately stored size when using the :kbd:`E` key. Eraser Switch Opacity Same as above, but then with Eraser opacity. Instant Preview This allows you to toggle instant preview on the brush. The Instant Preview has a super-secret feature: when you press the instant preview label, and then right click it, it will show a threshold slider. This slider determines at what brush size instant preview is activated for the brush. This is useful because small brushes can be slower with instant preview, so the threshold ensures it only activates when necessary. The On-canvas brush settings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are on-canvas brush settings. If you open up the pop-up palette, there should be an icon on the bottom-right. Press that to show the on-canvas brush settings. You will see several sliders here, to quickly make small changes. At the top it shows the currently active preset. Next to that is a settings button, click that to get a list of settings that can be shown and organized for the given brush engine. You can use the up and down arrows to order their position, and then left and right arrows to add or remove from the list. You can also drag and drop. Making a Brush Preset --------------------- Now, let's make a simple brush to test the waters with: Getting a default for the brush engine. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ First, open the settings with :kbd:`F5`. Then, press the arrow on the upper left to open the preset chooser. There, press the “+” icon to get a list of engines. For this brush we're gonna make a pixel brush. Example: Making an inking brush ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Draw on the scratch pad to see what the current brush looks like. If done correctly, you should have a 5px wide brush that has pressure set to opacity. #. Let us turn off the opacity first. Click on the :ref:`opacity ` option in the right-hand list. The settings should now be changed to a big curve. This is the sensor curve. #. Uncheck the :guilabel:`Enable Pen Settings` checkbox. #. Test on the scratch pad... there still seems to be something affecting opacity. This is due to the :ref:`flow ` option. #. Select the Flow option from the list on the right hand. Flow is like Opacity, except that Flow is per dab, and opacity is per stroke. #. Uncheck the :guilabel:`Enable Pen Settings` checkbox here as well. Test again. #. Now you should be getting somewhere towards an inking brush. It is still too small however, and kinda grainy looking. Click :ref:`Brush Tip ` in the brush engine options. #. Here, the diameter is the size of the brush-tip. You can touch the slider change the size, or right-click it and type in a value. Set it to 25 and test again. It should be much better. #. Now to make the brush feel a bit softer, turn down the fade parameter to about 0.9. This'll give the *brush mask* a softer edge. #. If you test again, you'll notice the fade doesn't seem to have much effect. This has to do with the spacing of the dabs: The closer they are together, the harder the line is. By default, this is 0.1, which is a bit low. If you set it to 10 and test, you'll see what kind of effect spacing has. The :ref:`Auto ` checkbox changes the way the spacing is calculated, and Auto Spacing with a value of 0.8 is the best value for inking brushes. Don't forget that you can use right-click to type in a value. #. Now, when you test, the fade seems to have a normal effect... except on the really small sizes, which look pixelly. To get rid of that, check the anti-aliasing check box. If you test again, the lines should be much nicer now. Saving the new Brush ~~~~~~~~~~~~~~~~~~~~ When you're satisfied, go to the upper left and select :guilabel:`Save New Brush Preset`. You will get the save preset dialog. Name the brush something like “My Preset”. Then, select :guilabel:`Load from Icon Library` to get the icon library. Choose a nice tool icon and press :guilabel:`OK`. The icon will be loaded into the mini scratch pad on the left. Now doodle a nice stroke next to it. If you feel you messed up, just go back to the icon library to load a new icon. Finally press :guilabel:`Save`, and your brush should be done. You can further modify your inking brush by... Changing the amount of pressure you need to put on a brush to make it full size. To do this, select the :ref:`size ` option, and press the pressure sensor from the list next to the curve. The curve should look like a straight line. Now if you want a brush that gets big with little pressure, tick on the curve to make a point, and drag the point to the upper-left. The more the point is to the upper-left, the more extreme the effect. If you want instead a brush that you have to press really hard on to get to full size, drag the dot to the lower-right. Such a brush is useful for fine details. Don't forget to save the changes to your brush when done. Making the fine lines look even softer by using the flow option. To do this, select the flow option, and turn back on the :guilabel:`Enable Pen Settings` check box. Now if you test this, it is indeed a bit softer, but maybe a bit too much. Click on the curve to make a dot, and drag that dot to the top-left, half-way the horizontal of the first square of the grid. Now, if you test, the thin lines are much softer, but the hard your press, the harder the brush becomes. Sharing Brushes --------------- Okay, so you've made a new brush and want to share it. There are several ways to share a brush preset. The recommended way to share brushes and presets is by using the resource bundle system. We have detailed instructions on how to use them on the :ref:`resource management page `. However, there are various old-fashioned ways of sharing brushes that can be useful when importing and loading very old packs: Sharing a single preset ~~~~~~~~~~~~~~~~~~~~~~~ There are three types of resources a single preset can take: #. A Paintoppreset file: This is the preset proper, with the icon and the curves stored inside. #. A Brush file: This is the brush tip. When using masked brushes, - there's two of these. + there are two of these. #. A Pattern file: this is when you are using textures. So when you have a brush that uses unique predefined tips for either brush tip or masked brush, or unique textures you will need to share those resources as well with the other person. To find those resources, go to :menuselection:`Settings --> Manage Resources --> Open Resource Folder`. There, the preset file will be inside paintoppresets, the brush tips inside brushes and the texture inside patterns. Importing a single KPP file. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Now, if you want to use the single preset, you should go to the preset chooser on :kbd:`F6` and press the folder icon there. This will give a file dialog. Navigate to the kpp file and open it to import it. If there are brush tips and patterns coming with the file, do the same with pattern via the pattern docker, and for the brush-tip go to the settings drop-down (:kbd:`F5`) and then go to the “brush-tip” option. There, select predefined brush, and then the “import” button to call up the file dialog. Sharing via ZIP (old-fashioned) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sharing via ZIP should be replaced with resource bundles, but older brush packs are stored in zip files. Using a ZIP with the relevant files. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #. Go to :menuselection:`Settings --> Manage Resources --> Open Resource Folder` to open the resource folder. #. Then, open up the zip file. #. Copy the brushes, paintoppresets and patterns folders from the zip file to the resource folder. You should get a prompt to merge the folders, agree to this. #. Restart Krita. #. Enjoy your brushes! diff --git a/user_manual/selections.rst b/user_manual/selections.rst index b94275e65..4dc12b011 100644 --- a/user_manual/selections.rst +++ b/user_manual/selections.rst @@ -1,145 +1,145 @@ .. meta:: :description: How selections work in Krita. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier - Hulmanen :license: GNU free documentation license 1.3 or later. .. index:: Selection .. _selections_basics: ========== Selections ========== Selections allow you to pick a specific area of your artwork to change. This is useful for when you want to move a section, transform it, or paint on it without affecting the other sections. There are many selection tools available that select in different ways. Once an area is selected, most tools will stay inside that area. On that area you can draw or use gradients to quickly get colored and/or shaded shapes with hard edges. Creating Selections ------------------- The most common selection tools all exist at the bottom of the toolbox. Each tool selects things slightly differently. The links for each tool go into a more detailed description of how to use it. .. csv-table:: :ref:`rectangle_selection_tool` , |toolselectrect|, Select the shape of a square. :ref:`ellipse_selection_tool` , |toolselectellipse|, Select the shape of a circle. :ref:`polygonal_selection_tool` , |toolselectpolygon|, Click where you want each point of the Polygon to be. Double click to end your polygon and finalize your selection area. Use :kbd:`Shift + Z` to undo last point. :ref:`outline_selection_tool` , |toolselectoutline|, Outline/Lasso tool is used for a rough selection by drawing the outline. :ref:`similar_selection_tool` , |toolselectsimilar|, Similar Color Selection Tool. :ref:`contiguous_selection_tool` , |toolselectcontiguous|, "Contiguous or “Magic Wand” selects a field of color. Adjust the :guilabel:`Fuzziness` to allow more changes in the field of color, by default limited to the current layer." :ref:`path_selection_tool` , |toolselectpath|, "Path select an area based on a vector path, click to get sharp corners or drag to get flowing lines and close the path with :kbd:`Enter` or connecting back to the first point." .. note:: You can also use the transform tools on your selection, a great way to try different proportions on parts of your image. Editing Selections ------------------ The tool options for each selection tool gives you the ability to modify your selection. +-------------+---------------+------------+---------------------------------------------------+ | Action | Modifier | Shortcut | Description | +-------------+---------------+------------+---------------------------------------------------+ | Replace | Ctrl | R | Replace the current selection. | +-------------+---------------+------------+---------------------------------------------------+ | Intersect | Shift + Alt | -- | Get the overlapping section of both selections | +-------------+---------------+------------+---------------------------------------------------+ | Add | Shift | A | Add the new selection to the current selection. | +-------------+---------------+------------+---------------------------------------------------+ | Subtract | Alt | S | Subtract the selection from the current selection.| +-------------+---------------+------------+---------------------------------------------------+ | Symmetric | -- | -- | Make a selection where both the new and current | | Difference | | | do not overlap. | +-------------+---------------+------------+---------------------------------------------------+ You can change this in :ref:`tool_options_settings`. If you hover over a selection with a selection tool and no selection is activated, you can move it. To quickly go into transform mode, |mouseright| and select :guilabel:`Edit Selection`. Removing Selections ------------------- If you want to delete the entire selection, the easiest way is to deselect everything. :menuselection:`Select --> Deselect`. Shortcut :kbd:`Ctrl + Shift + A`. Display Modes ------------- In the bottom left-hand corner of the status bar there is a button to toggle how the selection is displayed. The two display modes are the following: (Marching) Ants and Mask. The red color with Mask can be changed in the preferences. You can edit the color under :menuselection:`Settings --> Configure Krita --> Display --> Selection Overlay`. If there is no selection, this button will not do anything. .. image:: /images/selection/Ants-displayMode.jpg Ants display mode (default) is best if you want to see the areas that are not selected. .. image:: /images/selection/Mask-displayMode.jpg Mask display mode is good if you are interested in seeing the various transparency levels for your selection. For example, when you have a selection with very soft edges due using feathering. .. versionchanged:: 4.2 Mask mode is activated as well when a selection mask is the active layer so you can see the different selection levels. Global Selection Mask (Painting a Selection) -------------------------------------------- The global Selection Mask is your selection that appears on the layers docker. By default, this is hidden, so you will need to make it visible via :menuselection:`Select --> Show Global Selection Mask`. .. image:: /images/selection/Global-selection-mask.jpg Once the global Selection Mask is shown, you will need to create a selection. The benefit of using this is that you can paint your -selection using any of the normal painting tools, inlcuding the transform and move. The information is saved as grayscale. +selection using any of the normal painting tools, including the transform and move. The information is saved as grayscale. You can enter the global selection mask mode quickly from the selection tools by doing |mouseright| and select :guilabel:`Edit Selection`. Selection from layer transparency --------------------------------- You can create a selection based on a layer's transparency by right-clicking on the layer in the layer docker and selecting :guilabel:`Select Opaque` from the context menu. .. versionadded:: 4.2 You can also do this for adding, subtracting and intersecting by going to :menuselection:`Select --> Select Opaque`, where you can find specific actions for each. If you want to quickly select parts of layers, you can hold :kbd:`Ctrl +` |mouseleft| on the layer *thumbnail*. To add a selection do :kbd:`Ctrl + Shift+` |mouseleft|, to remove :kbd:`Ctrl + Alt +` |mouseleft| and to intersect :kbd:`Ctrl + Shift + Alt` |mouseleft|. This works with any mask that has pixel or vector data (so everything but transform masks). Pixel and Vector Selection Types -------------------------------- Vector selections allow you to modify your selection with vector anchor tools. Pixel selections allow you to modify selections with pixel information. They both have their benefits and disadvantages. You can convert one type of selection to another. .. image:: /images/selection/Vector-pixel-selections.jpg When creating a selection, you can select what type of selection you want from the Mode in the selection tool options: Pixel or Vector. By default this will be a vector. Vector selections can be modified as any other :ref:`vector shape ` with the :ref:`shape_selection_tool`, if you try to paint on a vector selection mask it will be converted into a pixel selection. You can also convert vector shapes to selection. In turn, vector selections can be made from vector shapes, and vector shapes can be converted to vector selections using the options in the :guilabel:`Selection` menu. Krita will add a new vector layer for this shape. One of the most common reasons to use vector selections is that they give you the ability to move and transform a selection without the kind of resize artifacts you get with a pixel selection. You can also use the :ref:`shape_edit_tool` to change the anchor points in the selection, allowing you to precisely adjust bezier curves or add corners to rectangular selections. If you started with a pixel selection, you can still convert it to a vector selection to get these benefits. Go to :menuselection:`Select --> Convert to Vector Selection`. .. note:: If you have multiple levels of transparency when you convert a selection to vector, you will lose the semi-transparent values. Common Shortcuts while Using Selections --------------------------------------- - Copy -- :kbd:`Ctrl + C` or :kbd:`Ctrl + Ins` - Paste -- :kbd:`Ctrl + V` or :kbd:`Shift + Ins` - Cut -- :kbd:`Ctrl + X`, :kbd:`Shift + Del` - Copy From All Layers -- :kbd:`Ctrl + Shift + C` - Copy Selection to New Layer -- :kbd:`Ctrl + Alt + J` - Cut Selection to New Layer -- :kbd:`Ctrl + Shift + J` - Display or hide selection with :kbd:`Ctrl + H` - Select Opaque -- :kbd:`Ctrl +` |mouseleft| on layer thumbnail. - Select Opaque (Add) -- :kbd:`Ctrl + Shift` |mouseleft| on layer thumbnail. - Select Opaque (Subtract) -- :kbd:`Ctrl + Alt` |mouseleft| on layer thumbnail. - Select Opaque (Intersect) -- :kbd:`Ctrl + Shift + Alt` |mouseleft| on layer thumbnail.