diff --git a/contributors_manual/krita_manual_conventions.rst b/contributors_manual/krita_manual_conventions.rst index 16c21fbb1..0ba74ab00 100644 --- a/contributors_manual/krita_manual_conventions.rst +++ b/contributors_manual/krita_manual_conventions.rst @@ -1,549 +1,549 @@ .. meta:: :description: reStructuredText conventions for the Krita Manual .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _krita_markup_conventions: ======================================== Mark-up conventions for the Krita Manual ======================================== This details the style conventions for using restructured text for the Krita Manual. It's recommended to look over the `official specification `_ for reStructuredText, and given it lives on sourceforge, to save a copy to your harddrive (sourceforge has, at this time of writing, some issues with server uptime): User Manual: * `Primer `_ * `Quick Ref `_ * `Text Cheatsheet `_ Reference Documentation: * `Introduction `_ * `Markup `_ * `Directives `_ * `Roles `_ Sphinx specific docs: * `Sphinx' page on restructured text `_ -- This is useful for the specific sphinx directives and roles it uses to generate for example table of contents. There's between the official reStructuredText and the sphinx docs multiple ways to do things. This document specifies the suggested conventions to go with. .. contents:: Meta data --------- Each page should start with the following three things: 1. A meta description This is a general description of the page. It will be converted to a html meta tag which will be used by search engines:: .. meta:: :description: Description. 2. A list of authors and a license. This is just to keep track of who edited the page and to give credit. It should be in a comment so that it will not end up being easily readable by machines. The license of the whole manual is GDL 1.3 and should also be mentioned here:: .. metadata-placeholder :authors: - Author 1 - Author 2 :license: GNU free documentation license 1.3 or later. 3. Indexing terms. These are comma-separated terms under which the page will be indexed in :ref:`genindex`. The generated index is quite useful for both pdf as well as people who are not sure what the exact name is of the term they are looking for. They are defined as following:: .. index:: Keyword, Keyword with Spaces, ! Main Definition Keyword 4. A label. This is so we can easily link to the page using ``:ref:`label_name```. Try to make this a nice variable name:: .. _label_name: After the label you will need to add a heading, as ``:ref:`label_name``` will refer to the heading to fill out it's link-text. Headings -------- Headings will be done in the following order:: ############ Part/Section ############ For pages that have a lot of subpages. ========= Heading 1 ========= Start most manual pages with this. Heading 2 --------- Heading 3 ~~~~~~~~~ Heading 4 ^^^^^^^^^ Heading 5 ''''''''' Heading 6 """"""""" These conventions were more or less decided by pandoc's mediawiki to reStructuredText conversion. If you need more than 4 headings, ask yourself first if the page hasn't gotten too complicated and needs splitting up. Sometimes you need to link to a subsection of a page, add a label above the heading in that case. Headers should not end with punctuation, as the header will be used as the link name when linking to a label. Linking ------- Linking is done with ``:ref:`label_name```. When you need an alternative link text, you use ``:ref:`actual text shown ```. Linking to external pages is done with ```url`_`` and ```link name `_``, which'll become `link name `_. Pandoc likes to turn these into ```link name`__`` and then add `` .. __ :url `` at the end of the document. This is a so-called 'anonymous hyperlink', meaning that depending on the order of the links appearing in the text the order of the links at the end of the text are associated to one another. If this sounds confusing and difficult, it is because it is. That is also the exact reason why we'd like to avoid links like these. Footnotes and further reading ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Footnotes can be made in 3 ways, the most common one is with autonumbering, as per reference: [#]_ is a reference to footnote 1, and [#]_ is a reference to footnote 2. .. [#] This is footnote 1. .. [#] This is footnote 2. .. [#] This is footnote 3. [#]_ is a reference to footnote 3. Here is a citation reference: [CIT2002]_ . .. [CIT2002] This is the citation. It's just like a footnote, except the label is textual. Citation can also be referenced with `citation `_ We don't actually use footnotes in the manual due to the fact that it is a little bit too academical for our readers. However, we do collect documents and links that give a little bit more information on a topic at the end of a page. Sphinx has the ``.. seealso::`` directive for linking to external links, while reStructuredText suggests to use ``.. rubic:: Footnotes`` for specifically collecting footnotes as that plays nice with LaTeX. Images ------ Use the image directive for images without captions:: .. image:: /images/en/sample.png :width: 800 :align: center :alt: an image. And figure directives for images with captions:: .. figure:: /images/en/sample.png :figwidth: 800 :align: center :alt: an image. A caption -- notice how the first letter is aligned with the :figwidth: option. The latter gives: .. figure:: /images/en/sample.png :figwidth: 800 :align: center :alt: an image. A caption -- notice how the first letter of the caption in the directive is aligned with the :figwidth: option. Images should go into the ``/images/en`` folder. By using ``/images`` instead of ``images``, sphinx will know the filepath isn't relative. In-text Markup -------------- You can make text *emphasized* and **strong** with a single asterisk and double respectively:: *emphasize* **strong** You cannot do both ***emphasized and strong***, so take a pick. You can :sub:`subscript text` and :sup:`superscript text` by using ``:sub:`text``` and ``:sup:`text``` However, use these super-sparingly! It is preferred to use the existing semantic markup in sphinx in any case, because that makes it easier for translators to make decisions about the nature of the text:: :menuselection:`settings --> configure Krita` :guilabel:`File` :kbd:`Ctrl + Z` :program:`Krita` Avoid randomly bolding words. It does *not* make the text easier or friendlier to read. Substitution References ----------------------- You can create a sort of shorthand for a piece of text or an image by doing:: .. |shorthand| replace:: something or the other. which means that if you use ``|shorthand|``, in the text, it'll be replaced with 'something or the other'. This is useful for, images and text that needs to be formatted in a complicated way, like in the case of "LaTeX". The krita documentation has ``|mouseleft|``, ``|mousemiddle|``, ``|mousescroll|`` and ``|mouseright|``, which'll turn into |mouseleft|, |mousemiddle|, |mousescroll| and |mouseright| respectively. These are defined in the sphinx conf.py, and are appended to each rst file. For links, if you reuse the same link over and over, you can write something like the following at the end of the file:: .. _bugzilla: https://bugs.kde.org/ .. _Krita Manual: https://docs.krita.org/ Then, when typing a link, you can just use ```bugzilla`_`` to link to bugzilla with "bugzilla" used as the text of the link. ```Krita Manual`_`` will in turn link to docs.krita.org with the text "Krita Manual". Lists ----- Ordinated lists ~~~~~~~~~~~~~~~ 1. Apple 2. Pear 3. Banana Or... A. Table B. Chair C. Wardrobe. I. Augustus #. Nero #. Caligula #. Trajan They can be defined as follows:: 1. Apple 2. Pear 3. Banana #. Apple #. Pear #. Banana A. Table B. Chair C. Wardrobe A. Table #. Chair #. Wardrobe I. Augustus #. Nero #. Caligula #. Trajan Unordered lists ~~~~~~~~~~~~~~~ - red - yellow - green - seagreen - verdigris - teal - veridian - emerald - dark emerald - light emerald - very light emerald. - blue Defined as such:: - red - yellow - green - seagreen - verdigris - teal - veridian - emerald - dark emerald - light emerald - very light emerald. - blue Definition Lists ~~~~~~~~~~~~~~~~ A favourite! Definition lists are especially useful when dealing with enumerating all the options in a docker and trying to add a simple explanation behind them. Definition explanation. Another option Explanation. To make them. You can make them like this:: Definition explanation. Another option Explanation. Tables ------ ================== ============ Purpose Table type ================== ============ listing shortcuts Simple table lots of colspans Grid table Simple but long List Table ================== ============ Done as follows:: ================== ============ Purpose Table type ================== ============ listing shortcuts Simple table lots of colspans Grid table Simple but long List Table ================== ============ +-----------------+------------+ |Purpose |Table Type | +=================+============+ |listing shortcuts|Simple table| +-----------------+------------+ |lots of colspans |Grid table | +-----------------+------------+ |Simple but long |List table | +-----------------+------------+ .. list-table:: :header-rows: 1 - * Purpose * Table Type - * listing shortcuts * simple table - * lots of colspans * grid table - * simple but long * list table Full grid tables are best for when you need all features like complex column and row spans, but they're tricky to make. For that reason, small tables are best off being done with the simple syntax, while really long tables are best done with a list directive because that is just much easier to write and maintain. Admonishments and asides. ------------------------- .. note:: Admonishments are sort of like a separate section that the reader needs to pay attention to. -Admonishments that can be used are the following(in order of seriousness): +Admonishments that can be used are the following (in order of seriousness): .. hint:: Hints are useful to give a little bit more information on a topic than is useful in the main text. Like, hint: these packages are named differently in openSuse versus Debian. .. tip:: Extra information on how to do something, like, "you can make a template of your favourite document setup", or "use m to mirror the canvas and see errors more easily in your drawing". .. important:: Something that is important to note, but is not necessarily negative. .. warning:: This is in general when something is negative. .. attention:: General attention grabber. Use this when the subject is more important than warning, but not as important that is could get a dataloss. .. caution:: This is for things that could cause dataloss, like forgetting to save, or that python currently has no undo functionality. .. danger:: This should be for things that are dangerous for the computer in general, this includes things that can cause out of memory style freezes. .. error:: This one is probably not relevant for a manual. Sphinx can create these manually given some situations, but our configuration does not do so by default. .. admonition:: generic admonition that can have any text. This looks like the following:: .. admonition:: generic admonition that can have any text. Text Sphinx also adds:: .. seealso:: Which is useful to collect external links and references. .. Topic:: Horizontal Rulers Horizontal rulers are usually used when the topic switches rather directly. This is very common in more narrative based writing, such as history or fiction. The Krita manual is more instruction and reference style writing, that is to say, we don't usually tell a long story to indicate how different elements come together, but rather long stories are there to motivate why certain steps are taken in a certain manner. Topic changes then usually happen because we go into a new section, rather then switching to a related section. It is therefore better to use headings or the ``.. Topic::`` directive. Headings also make it easier to read. ---------------- That said, horizontal rulers can be made with ``----``. .. rubric:: The rubric directive. The rubric directive is a heading directive that at first glance looks like "topic", but where topic is over several paragraphs, rubric itself only deals with the header, like so:: .. rubric:: The rubric directive. .. rubric:: So, when to use these? Only use them when you think the subject is too minor to have a proper heading. Topic When the text is separated from the flow, so it goes into a different subject than the text itself is naturally going to. Rubric When the text isn't separated from the flow, but it does not need a header either. Admonishments Only when they fit semantically. This is especially necessary for the danger and warning admonishments, as seeing them too often can make users blind to them. Code Snippets: -------------- ``Inline code snippets`` are done with ````backticks````. Multi-line code snippets are done by ending the previous section with ``::``, which'll look like this:: This is a paragraph, and we define a preformated snippet like so:: Be sure to add a white space and a tab afterwards before starting the snippet. You can also use the ``.. code::`` directive. If you add the language name after it, it'll do the appropriate syntax highlighting:: .. code:: python def my_function(): # comment alist = [] alist.append(1) string = "hello world" Becomes .. code:: python def my_function(): # comment alist = [] alist.append(1) string = "hello world" some more... .. code:: c++ int myFunction(int i) { i += 1; // Check if more than 12 if (i>12) { i = 0; } return i; } .. code:: css body { margin: 0 auto; /* is 800 still sensible? */ max-width:800px; font-size:16px; color:#333; background-color: #eee; padding:1em; font-family:serif; line-height: 1.4; } .. code:: html

this is a paragraph.

Other preformatted text. ------------------------ | One can | preformat | text by | prepending | each line | with a pipe | symbol Like so:: | One can | preformat | text by | prepending | each line | with a pipe | symbol We don't actually use this anywhere in the manual. Glossaries, Terms and Index --------------------------- These are sphinx features. Index is used in the top section, right now only single index entries are used. Glossaries are used for some of the menu entry sections, but not all of them. Quotes ------ Quotes are done like this:: I am not sure why you'd need quotes in a user manual... -- Wolthera This becomes a blockquote. I am not sure why you'd need quotes in a user manual... -- Wolthera We do actually use quotes in some places. Try to add a link to the name to define where it came from. diff --git a/contributors_manual/krita_manual_readme.rst b/contributors_manual/krita_manual_readme.rst index ad398bc24..a61dad270 100644 --- a/contributors_manual/krita_manual_readme.rst +++ b/contributors_manual/krita_manual_readme.rst @@ -1,293 +1,293 @@ .. 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 .. _Manual Project Workboard : https://phabricator.kde.org/project/view/135/ .. _repository : https://phabricator.kde.org/source/websites-docs-krita-org/ .. _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 you 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. If you are familiar with Git ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Get the source from the `repository`_ using :program:`Git` clone 2. Make changes 3. Build locally (optional) 4. Generate a git diff. Go to the source directory in your terminal and write ``git diff > ../mydiff.diff`` this will make a diff file in the folder above. 5. Create a review request on phabricator 1. Login into `phabricator`_ with your identity account. 2. Go to differential. 3. Upper-right --> "Star" menu --> Create Review Request. - 4. Upload the diff you made, select the correct repository(``websites-docs-krita-org``, easier to find with ``Krita.org Documentation Website``, *make sure you do not select docs-kde-org!*). + 4. Upload the diff you made, select the correct repository (``websites-docs-krita-org``, easier to find with ``Krita.org Documentation Website``, *make sure you do not select docs-kde-org!*). 5. Confirm the file is correct. 6. Then in the next screen: 1. Add in Title/Short Summary. 2. Tell us what you changed in the summary. 3. (Optional) put your email in the comment if you want attribution. 4. Phabricator has a system that automatically tags the review request with the Krita Manual team. 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 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 Rembrand'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 mention 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 in tact 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:: +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 review 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's two types of proofreading that needs to be done. The most important one is **reviewing changes people make**. You can do this on phabricator in two ways: 1. Reviewing patches in differential. Reviewing patches is done in differential. Patch 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 patch reviewing to check against typos as well! - A patch, or diff, 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. + A patch, or diff, 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. Auditing changes in the manual. Auditing changes happens after the fact. You can audit 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 line to add an 'inline' comment. Usually, when reviewing you go over the whole set of changes making comments where needed. To submit the inline comments, go to the bottom here you can add a general comment. When you submit the general comment all the inline comments will be submitted along side of it. 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 ~~~~~~~~~~~ We are still trying to hash out a translation workflow. Please bear with us. .. Things that need to be decided: where do the POT files go, how do we decide which pages should not be translated, etc. Other ----- For restructured text conventions, check :ref:`krita_markup_conventions` . diff --git a/general_concepts/colors/bit_depth.rst b/general_concepts/colors/bit_depth.rst index f3314390c..d02e6c75f 100644 --- a/general_concepts/colors/bit_depth.rst +++ b/general_concepts/colors/bit_depth.rst @@ -1,68 +1,68 @@ .. meta:: :description: Bit depth in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Bit Depth, Bit Depth, Deep Color, Indexed Color, Real Color, Floating Point Color, Color Channels .. _bit_depth: ========= Bit Depth ========= Bit depth basically refers to the amount of working memory per pixel you reserve for an image. Like how having a A2 paper in real life can allow for much more detail in the end drawing, it does take up more of your desk than a simple A4 paper. However, this does not just refer to the size of the image, but also how much precision you need per colour. To illustrate this, I'll briefly talk about something that is not even available in Krita: Indexed Colour. --------------- In older programs, the computer would have per image, a palette that contains a number for each color. The palette size is defined in bits, because the computer can only store data in bit-sizes. .. figure:: /images/en/color_category/Kiki_lowbit.png :figwidth: 453 :align: center 1bit - Only two colours in total, usually black and white. -4bit(16 colors) + Only two colors in total, usually black and white. +4bit (16 colors) 16 colors in total, these are famous as many early games were presented in this color palette. 8bit 256 colors in total. 8bit images are commonly used in games to save on memory for textures and sprites. -However, this is not available in Krita. Krita instead works with channels, and counts how many colors per channel you need(described in terms of ''bits per channel''). This is called 'real colour'. +However, this is not available in Krita. Krita instead works with channels, and counts how many colors per channel you need (described in terms of ''bits per channel''). This is called 'real color'. Real Color ---------- .. figure:: /images/en/color_category/Rgbcolorcube_3.png :figwidth: 800 :align: center 1, 2, and 3bit per channel don't actually exist in any graphics application out there, however, by imagining them, we can imagine how each bit affects the precision: Usually, each bit subdivides each section in the color cube meaning precision becomes a power of 2 bigger than the previous cube. -4bit per channel(not supported by Krita) +4bit per channel (not supported by Krita) Also known as Hi-color, or 16bit color total. A bit of an old system, and not used outside of specific displays. 8bit per channel Also known as "True Color", "Millions of colors" or "24bit/32bit". The standard for many screens, and the lowest bit-depth Krita can handle. 16bit per channel. One step up from 8bit, 16bit per channel allows for colors that can't be displayed by the screen. However, due to this, you are more likely to have smoother gradients. Sometimes known as "Deep Color". This color depth type doesn't have negative values possible, so it is 16bit precision, meaning that you have 65536 values per channel. 16bit float - Similar to 16bit, but with more range and less precision. Where 16bit only allows coordinates like [1, 4, 3], 16bit float has coordinates like [0.15, 0.70, 0.3759], with [1.0,1.0,1.0] representing white. Because of the differences between floating point and integer type variables, and because Scene-referred imaging allows for negative values, you have about 10-11bits of precision per channel in 16 bit floating point compared to 16 bit in 16 bit int(This is 2048 values per channel in the 0-1 range) Required for HDR/Scene referred images, and often known as 'half floating point'. + Similar to 16bit, but with more range and less precision. Where 16bit only allows coordinates like [1, 4, 3], 16bit float has coordinates like [0.15, 0.70, 0.3759], with [1.0,1.0,1.0] representing white. Because of the differences between floating point and integer type variables, and because Scene-referred imaging allows for negative values, you have about 10-11bits of precision per channel in 16 bit floating point compared to 16 bit in 16 bit int (this is 2048 values per channel in the 0-1 range). Required for HDR/Scene referred images, and often known as 'half floating point'. 32bit float - similar to 16bit float but with even higher precision. The native color depth of OpenColor IO, and thus faster than 16bit float in HDR images, if not heavier. Because of the nature of floating point type variables, 32bit float is roughly equal to 23-24 bits of precision per channel(16777216 values per channel in the 0-1 range), but with a much wider range(it can go far above 1), necessary for HDR/Scene-referred values. It is also known as 'single floating point'. + similar to 16bit float but with even higher precision. The native color depth of OpenColor IO, and thus faster than 16bit float in HDR images, if not heavier. Because of the nature of floating point type variables, 32bit float is roughly equal to 23-24 bits of precision per channel (16777216 values per channel in the 0-1 range), but with a much wider range (it can go far above 1), necessary for HDR/Scene-referred values. It is also known as 'single floating point'. This is important if you have a working colour space that is larger than your device space: At the least, if you do not want colour banding. And while you can attempt to create all your images a 32bit float, this will quickly take up your ram. Therefore, it's important to consider which bit depth you will use for what kind of image. diff --git a/general_concepts/colors/color_managed_workflow.rst b/general_concepts/colors/color_managed_workflow.rst index 890ccfb7a..2a825489a 100644 --- a/general_concepts/colors/color_managed_workflow.rst +++ b/general_concepts/colors/color_managed_workflow.rst @@ -1,378 +1,378 @@ .. meta:: :description: How a color managed workflow works. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - AnetK - Tokiedian :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Management, ICC Profiles, OCIO .. _color_managed_workflow: ====================== Color Managed Workflow ====================== You may have heard that Krita has something called color-management. Or maybe you just wondered what all these 'color model' and 'color profile' things you can find in the menus mean. Color management is pretty useful for people who work in digital imaging professionally, and hopefully this page will explain why. Basic Info ---------- If you've never worked with color management before, and have no clue what it is, then know that you've probably been working in the 8bit RGB colour space with the sRGB profile. This means you can choose for *sRGB built-in* or *sRGB-elle-v2-srgbtrc.icc*. With the new color space browser this profile is marked with *(default)* when using 8bit. We'll go into what these terms mean in the theory, but if you're here only for trying to figure out which is the default, you now know it. Maybe, after reading this, you may feel like changing the default, to get new and interesting results from filters, blending modes, or just the color smudge brush. What is the problem? -------------------- To explain the point of color management, you'd first need to learn which problem color management tries to solve. Let us imagine a kinder garden: The class of 28 children is subdivided in groups of 7. Each group has its own table. The teacher gives them a painting assignment: They need to paint a red triangle, a blue square, a green circle and put a yellow border around the three. The kids are very experienced with painting already, so the teacher can confidently leave the smarter ones to their own devices, and spent more time on those who need help. The following results come from painting: Even though all groups had the same assignment, each group's result looks different. .. figure:: /images/en/color_category/Krita_2_9_colormanagement_group1.png :figwidth: 500 :align: center Group 1 had vermillion red, citron yellow and ultramarine blue to their disposal. This means their triangle looks nice and red, but their circle's green is muddy. This is because ultramarine is too dark of a blue to create nice greens with. .. figure:: /images/en/color_category/Krita_2_9_colormanagement_group2.png :figwidth: 500 :align: center Group 2 had magenta red, citron yellow and cerulean blue. Magenta is a type of red that is closer to pink, opposed to vermillion, which is closer to orange. However, their green looks nice because cerulean is a much lighter blue. .. figure:: /images/en/color_category/Krita_2_9_colormanagement_group3.png :figwidth: 500 :align: center Group 3 had vermillion red, citron yellow, emerald green and cerulean blue. They didn't mix their green, and thus ended up with a purer colour. .. figure:: /images/en/color_category/Krita_2_9_colormanagement_group4.png :figwidth: 500 :align: center Finally, group 4 has Vermillion red, citron yellow and cerulean blue. Their colours probably look like what you imagined. Now, these are kindergarteners, so this isn't the largest problem in the world. However, imagine that something like this happened at a printing company? Imagine four printers printing the same magazine with wildly different results? That would be disastrous! For this purpose, we invented color management. What is colour management? -------------------------- Color management is, dryly put, a set of systems that tries to have the same colour translate properly between color devices. It usually works by attempting to covert a colour to the reference colour space XYZ. XYZ is a coordinate system that has a spot for all colours that the average human eye can see. -From XYZ it can then be translated back into another device space, such as RGB(for screens), or CMYK(for printers). +From XYZ it can then be translated back into another device space, such as RGB (for screens), or CMYK (for printers). Krita has two systems dedicated to colour management. On one hand we have **lcms2**, which deal with Icc-profiles, and on the other we have **OCIO**, which deal with LUT color management. -To give a crude estimate, ICC profiles deal with keeping colours consistent over many interpretations of devices(screens, printers) by using a reference space, and OCIO deals with manipulating the interpretation of said colours. +To give a crude estimate, ICC profiles deal with keeping colours consistent over many interpretations of devices (screens, printers) by using a reference space, and OCIO deals with manipulating the interpretation of said colours. Within both we can identify the following color spaces: Device spaces Device spaces are those describing your monitor, and have to be made using a little device that is called "colorimeter". This device, in combination with the right software, measures the strongest red, green and blue your screen can produce, as well as the white, black and grey it produces. Using these and several other measurements it creates an icc profile unique to your screen. You set these in Krita's colour management tab. By default we assume sRGB for screens, but it's very likely that your screen isn't exactly fitting sRGB, especially if you have a high quality screen, where it may be a bigger space instead. Device spaces are also why you should first consult with your printer what profile they expect. Many printing houses have their own device profiles for their printers, or may prefer doing color conversion themselves. You can read more about colorimeter usage :ref:`here `. Working spaces These are delivered alongside Krita for ICC, and downloadable from the OCIO website for OCIO. Working spaces are particularly nice to do color calculations in, which programs like Krita do often. It's therefore recommended to have a working space profile for your image. Aesthetic or Look spaces These are special spaces that have been deformed to give a certain look to an image. Krita doesn't deliver Look profiles for ICC, nor does it yet support Look spaces for OCIO. Color managed workflow ---------------------- Knowing this about these spaces of course doesn't give you an idea how to use them, but it does make it easier to explain how to use them. So let us look at a typical color management workflow: .. figure:: /images/en/color_category/Krita-colormanaged-workflow_text.svg :figwidth: 800 :align: center A typical example of a color managed workflow. We have input from scanners and cameras, which we convert to a working space that can be used between different editing software, and is converted to an output space for viewing on screen or printing. In a traditional color managed workflow, we usually think in terms of real world colors being converted to computer colors and the other way around. So, for example photos from a camera or scanned in images. If you have a device space of such a device, we first assign said device space to the image, and then convert it to a working space. We then do all our editing in the working space, and use the working space to communicate between editing programs. In Krita's case, due to it having two color management systems, we use ICC profiles between programs like Gimp 2.9+, Inkscape, Digikam and Scribus, and OCIO configuration between Blender and Natron. You also store your working files in the working space, just like how you have the layers unmerged in the working file, or have it at a very high resolution. Sometimes, we apply aesthetic or 'look' spaces to an image as part of the editing process. This is rather advanced, and probably not something to worry about in Krita's case. Then, when we're done editing, we try to convert to an output space, which is another device space. This can be CMYK for printers or a special screen RGB profile. When you are dealing with professional printing houses, it is best to ask them about this step. They have a lot of experience with doing the best conversion, and may prefer to do the conversion from your working space to the device space of their printers. Another form of output is the way your screen displays the color. Unlike regular output, this one is done all the time during editing: After all, you need to be able to see what you are doing, but your screen is still a device with a device space, so it does distort how the image looks. In this manner, you can see your screen as a set of binoculars you have to look through to see your image at all. Therefore, without a profiled monitor, you actually don't know what the actual colors you are working with are like, because the computer doesn't know the relevant properties of your screen. So if you profiled your monitor, give Krita the profile in the settings, and select the sRGB space to draw in, you are for the first time seeing the actual colors of the sRGB space. So what does this mean? ----------------------- .. figure:: /images/en/color_category/Krita-colormanaged-workflow_krita_text.svg :figwidth: 300 :align: right When we paint from scratch, we can see our screen profile as the input space, because we use it to determine what colors to pick. This somewhat simplifies the workflow, but makes the screen profile and viewing conditions more important. Now, photographers and people who do a tricky discipline of VFX called 'color grading' will go completely mad over trying to get the colors they put in to come out 100% correctly, and will even count in factors like the time of day and the color they painted their walls. For example, if the wall behind your computer is pure red, your eyes will adjust to be less sensitive to red, which means that the colors they pick in the program could come out redder. We call these the *viewing conditions*. Thankfully, artists have to worry a slight bit less about this. As illustrations are fully handmade, we are able to identify the important bits and make appropriate contrasts between colors. This means that even if our images turn out to be slightly redder than intended, it is less likely the whole image is ruined. If we look back at the kindergarten example above, we still understand what the image was supposed to look like, despite there being different colors on each image. Furthermore, because the colors in illustrations are deliberately picked, we can correct them more easily on a later date. Yet, at the same time, it is of course a big drag to do this, and we might have had much more flexibility had we taken viewing conditions under consideration. That said, for artists it is also very useful to understand the working spaces. Different working spaces give different results with filters and mixing, and only some working spaces can be used for advanced technology like HDR. Similarly, Krita, as a program intended to make images from scratch, doesn't really worry about assigning workspaces after having made the image. But because you are using the screen as a binocular to look at your image, and to pick colors, you can see your screen's device space as an input space to the image. Hence why profiling your monitor and giving the profile to Krita in the settings can help with preparing your work for print and future ventures in the long run. Overall, it is kinda useful to keep things like viewing conditions in the back of your mind. Many professional artists use a mid-grey color as their default canvas background because they find they create much more dynamic images due to having improved their viewing conditions. It is also why a lot of graphics programs, including Krita, come with a dark theme nowadays. (Though, of course this might also be because dark themes can be considered cool, who knows.) .. _icc_profiles: Icc profiles ------------ An Icc profile is a set of coordinates describing the extremities of the device space within XYZ, and it is the color management data you use to communicate your working space to printers and applications that are designed for the print industry, such as GIMP, Scribus, Photoshop, Illustrator, Inkscape, Digikam, RawTheraphee, etc. You have two types of icc profiles: Matrix Shaper profiles. These are delivered alongside Krita. Matrix shaper profiles are made by setting parameters and interpolating between these to get the exact size of the colour space. Due to this, Krita's color space browser can give you a lot of information on these profiles. Such profiles are also preferable as working space. .. figure:: /images/en/color_category/Kiki_matrix_profile.png :figwidth: 500 :align: center Matrix shaper profiles have a few parameters that describe the color space which are then interpolated between, this requires a lot of maths. cLUT profiles These are fairly rare, and primarily used to describe printer profiles, such as CMYK. cLUT, or Color Look-up Table profiles store far more data than Matrix shaper profiles, so they can hold data of little particularities caused by, for example, unexpected results from mixing pigments. This is a far more organic approach to describing a color space, hence why a lot of programs that don't care for color management much don't support these. .. figure:: /images/en/color_category/Kiki_cLUTprofiles.png :figwidth: 500 :align: center cLUT profiles work by holding tables of each color in a colorspace and their respective coordinates in a reference space. For CMYK this is typically L\*A\*B\* and for the rest XYZ. These tables are tricky to make, which means these profiles are a lot rarer. The interesting thing about icc profiles is that your working space can be larger than your device space. This is generally not bad. However, when converting, you do end up with the question of how to translate the working space values. Perceptual This just squishes the values of the working space into the space it's converted to. It's a nice method to see all possible values in this, but not so good if you want accurate colour reproduction. Use this if you want to see all colours in an image, or want to express all possible contrasts. Doesn't work with Matrix Shaper profiles, defaults to relative colorimetric. Absolute Colorimetric. The opposite to Perceptual, Absolute colorimetric will attempt to retain all the correct colours at whatever cost, which may result in awful looking colours. Recommended only for reproduction work. Doesn't work with Matrix Shaper profiles in Krita due to ICC v4 workflow standards. Relative Colorimetric A in between solution between perceptual and absolute, relative will try to fit whatever colours it can match between colour spaces. It does this by aligning the white and black points. It cuts off the rest to their respective borders. This is what all matrix shaper profiles default to during conversion, because the ICC v4 workflow specifies to only use Relative Colorimetric for matrix shaper profiles. Saturation Does anything to retain colourfulness, even hue will be sacrificed. Used in infographics. Doesn't work with Matrix Shaper profiles, defaults to relative colorimetric. -*ICC profile version* is the last thing to keep in mind when dealing with ICC profiles. Krita delivers both Version 2 and Version 4 profiles, with the later giving better results in doing color maths, but the former being more widely supported(as seen below in 'interoperability with other programs'. This is also why Krita defaults to V2, and we recommend using V2 when you aren't certain if the other programs you are using support V4. +*ICC profile version* is the last thing to keep in mind when dealing with ICC profiles. Krita delivers both Version 2 and Version 4 profiles, with the later giving better results in doing color maths, but the former being more widely supported (as seen below in 'interoperability with other programs'. This is also why Krita defaults to V2, and we recommend using V2 when you aren't certain if the other programs you are using support V4. LUT docker and HDR imaging -------------------------- .. figure:: /images/en/LUT_Management_Docker.png :figwidth: 300 :align: center The :ref:`lut_docker` is the second important bit of colour management in Krita that is shared between Krita and programs like Blender, Natron and Nuke, and only uses Look Up Tables that are configured via a config file. You can set the workingspace of the image under input color space, and the display to sRGB or your own LUT if you have added it to the configuration. View in this case is for proofing transforms to a certain display device. Component, exposure, gamma, whitepoint and blackpoint are knobs which allows you to modify the display filter. .. figure:: /images/en/color_category/Krita_HDR_1.svg :figwidth: 800 :align: center As explained before, we can see our monitor as a telescope or binocular into the world of our picture. Which means it distorts our view of the image a little. But we can modify this binocular, or display filter to see our image in a different way. For example, to allow us to see the white in an image that are whiter than the white of our screen. To explain what that means, we need to think about what white is. For example, white, on our monitor is full red, full green and full blue. But it's certainly different from white on our paper, or the colour of milk, white from the sun, or even the white of our cell-phone displays. Black similarly, is brighter on a LCD display than a LED one, and incomparable with the black of a carefully sealed room. This means that there's potentially blacker blacks than screen black, and white whites than screen white. However, for simplicity's sake we still assign the black-point and the white-point to certain values. From there, we can determine whether a white is whiter than the white point, or a black blacker than the black-point. The LUT docker allows us to control this display-filter and modify the distortion. This is useful when we start modifying images that are made with scene referred values, such as HDR photos, or images coming out of a render engine. .. figure:: /images/en/color_category/Krita_HDR2.svg :figwidth: 800 :align: center So, for example, we can choose to scale whiter-than-screen-white to our screen-white so we can see the contrasts there. The point of this is that you can take advantage of more lightness detail in an image. While you can't see the difference between screen white and whiter-than-screen-white (because your screen can't show the difference), graphics programs can certainly use it. A common example is matching the lighting between a 3d model and a real world scene. Others are advanced photo retouching, with much more contrast information available to the user. In painting itself, this allows you to create an image where you can be flippant with the contrast, and allow yourself to go as bright as you'd like. LUT docker manipulations are per view, so you can create a new view and set it to luminosity. This way you can see the image in both color as well as grayscale and keep a good eye on your values. Another example is to carefully watch the gradients in a certain section. -Like Icc, the LUT Docker allows you to create a profile of sorts for your device. In this case it's the 'lut', which stands for 'Look Up Table', and which can be added to OCIO by modifying the configuration file. When OCIO is turned on, the configuration in :kbd:`settings --> configure Krita --> Color Management` is turned off, unless you are using the :kbd:`Internal` color engine. +Like Icc, the LUT Docker allows you to create a profile of sorts for your device. In this case it's the 'lut', which stands for 'Look Up Table', and which can be added to OCIO by modifying the configuration file. When OCIO is turned on, the configuration in :menuselection:`Settings --> Configure Krita --> Color Management` is turned off, unless you are using the :guilabel:`Internal` color engine. In summary ---------- Krita has two modes of colour management: * Icc works in terms of spaces relative to the CIEXYZ space, and requires an icc profile. * OCIO works in terms of interpretation, and makes use of luts. * both can be made with a colorimeter. -* If you want to have a properly color managed workflow, you have one made customly for the input device(your screen) and the output devices(your printer, or target screen). For web the output is always sRGB. -* Set up your screen profiles under :kbd:`settings --> configure Krita --> color management`. +* If you want to have a properly color managed workflow, you have one made customly for the input device (your screen) and the output devices (your printer, or target screen). For web the output is always sRGB. +* Set up your screen profiles under :menuselection:`Settings --> Configure Krita --> Color management`. * Do NOT use screen profiles or other device profiles to draw in. Use a working space profile such as any of the elle profiles for this, as the color maths will be much more predictable and pleasant. Krita will convert between your screen and working space on the fly, allowing you to pick the correct colors. This turns your screen into binoculars to view the image. * Use the appropriate color management for the appropriate workflow. If you are working with Blender, you will be better off using OCIO, than ICC. IF you are working with Scribus or Photoshop, use ICC. Krita does a lot of colour maths, often concerning the blending of colours. This colour maths works best in linear colour space, and linear colour space requires a bit depth of at the least 16bit to work correctly. The disadvantage is that linear space can be confusing to work in. If you like painting, have a decent amount of ram, and are looking to start your baby-steps in taking advantage of Krita's colour management, try upgrading from having all your images in sRGB built-in to sRGB-v2-elle-g10.icc or rec2020-v2-elle-g10.icc at 16bit float. This'll give you better colour blending while opening up the possibility for you to start working in hdr! .. note:: Some graphics cards, such as those of the Nvidia-brand actually have the best performance under 16bit float, because Nvidia cards convert to floating point internally. When it does not need to do that, it speeds up! .. note:: No amount of color management in the world can make the image on your screen and the image out of the printer have 100% the same color. Exporting --------- when you have finished your image and are ready to export it, you can modify the color space to optimize it: If you are preparing an image for the web: * If you use 16bit color depth or higher, convert the image to 8bit color depth. This will make the image much smaller. * Krita doesn't have built-in dithering currently, which means that 16 to 18bit conversions can come out a bit banded. But you can simulate it by adding a fill layer with a pattern, set this fill layer to overlay, and to 5% opacity. Then flatten the whole image and convert it to 8bit. The pattern will function as dithering giving a smoother look to gradients. * If it's a gray-scale image, convert it to gray-scale. * If it's a color image, keep it in the working space profile: Many web browsers these days support color profiles embedded into images. Firefox, for example, will try to convert your image to fit the color profile of the other's monitor (if they have one). That way, the image will look almost exactly the same on your screen and on other profiled monitors. .. note:: In some versions of Firefox, the colours actually look strange: This is a bug in Firefox, which is because it's `color management system is incomplete `_, save your png, jpg or tiff without an embedded profile to work around this. If you are preparing for print: * You hopefully made the picture in a working space profile instead of the actual custom profile of your screen, if not, convert it to something like adobe rgb, sRGB or rec2020. * Check with the printer what kind of image they expect. Maybe they expect sRGB color space, or perhaps they have their own profile. Interaction with other applications ----------------------------------- Blender ~~~~~~~ If you wish to use krita's OCIO functionality, and in particular in combination with Blender's color management, you can try to have it use Blender's OCIO config. Blender's OCIO config is under ``/version number/datafiles/colormanagement``. Set the LUT docker to use the OCIO engine, and select the config from the above path. This will give you blender's input and screen spaces, but not the looks, as those aren't supported in Krita yet. Windows Photo Viewer ~~~~~~~~~~~~~~~~~~~~ You might encounter some issues when using different applications together. One important thing to note is that the standard Windows Photo Viewer application does not handle modern ICC profiles. Krita uses version 4 profiles; Photo Viewer can only handle version 2 profiles. If you export to JPEG with an embedded profile, Photo Viewer will display your image much too dark. Example workflows ----------------- Here are some example workflows to get a feeling of how your color management workflow may look like. -As mentioned before, input for your screen is set via :kbd:`settings --> configure Krita --> color management`, or via the LUT docker's 'screen space'. Working space is set via new file per document, or in the LUT docker via 'input space'. +As mentioned before, input for your screen is set via :menuselection:`Settings --> Configure Krita --> Color management`, or via the LUT docker's 'screen space'. Working space is set via new file per document, or in the LUT docker via 'input space'. Webcomic ~~~~~~~~ .. image:: /images/en/color_category/Krita-colormanaged-workflow_webcomic.svg :width: 800 :align: center Input Your screen profile. (You pick colors via your screen) Workingspace - sRGB(the default screen profile) or any larger profile if you can spare the bitdepth and like working in them. + sRGB (the default screen profile) or any larger profile if you can spare the bitdepth and like working in them. Output sRGB, icc version 2, sRGB trc for the internet, and a specialised CMYK profile from the printing house for the printed images. Use the sRGB-elle-V2-srgbtrc.icc for going between inkscape, photoshop, painttool sai, illustrator, Gimp, mypaint, mangastudio, paintstorm studio, mypaint, artrage, scribus, etc. and Krita. If you are using a larger space via ICC, you will only be able to interchange it between Krita, Photoshop, Illustrator, GIMP 2.9, mangastudio and scribus. All others assume sRGB for your space, no matter what, because they don't have color management. If you are going between Krita and Blender, Nuke or Natron, use OCIO and set the input space to 'sRGB', but make sure to select the sRGB profile for icc when creating a new file. For the final for the web, convert the image to sRGB 8bit, srgbtrc, do not embed the icc profile. Then, if using png, put it through something like pngcrush or other png optimisers. sRGB in this case is chosen because you can assume the vast majority of your audience hasn't profiled their screen, nor do they have screens that are advanced enough for the wide gamut stuff. So hence why we convert to the screen default for the internet, sRGB. Print ~~~~~ .. image:: /images/en/color_category/Krita-colormanaged-workflow_print.svg :width: 800 :align: center Input Your screen profile. (You pick colors via your screen) Workingspace sRGB or rec2020 if you can afford the bit-depth being 16bit. Output - specialised CMYK profile from the printing house for the printed images. + Specialised CMYK profile from the printing house for the printed images. The CMYK profiles are different per printer, and even per paper or ink-type so don't be presumptuous and ask ahead for them, instead of doing something like trying to paint in any random CMYK profile. As mentioned in the viewing conditions section, you want to keep your options open. -You can set the advanced color selector to transform to a given profile via :kbd:`settings --> configure Krita --> advanced color selector settings`. There, tick 'color selector uses a different color space than the image' and select the CMYK profile you are aiming for. This will limit your colors a little bit, but keep all the nice filter and blending options from RGB. +You can set the advanced color selector to transform to a given profile via :menuselection:`Settings --> Configure Krita --> Advanced color selector settings`. There, tick :guilabel:`Color selector uses a different color space than the image` and select the CMYK profile you are aiming for. This will limit your colors a little bit, but keep all the nice filter and blending options from RGB. Games ~~~~~ .. image:: /images/en/color_category/Krita-colormanaged-workflow_games.svg :width: 800 :align: center Input Your screen profile. (You pick colors via your screen) Workingspace sRGB or grayscale linear for roughness and specular maps. Output This one is tricky, but in the end it'll be sRGB for the regular player. So this one is tricky. You can use OCIO and ICC between programs, but recommended is to have your images to the engine in sRGB or grayscale. Many physically based renderers these days allow you to set whether an image should be read as a linear or srgbtrc image, and this is even vital to have the images being considered properly in the physically based calculations of the game renderer. While game engines need to have optimised content, and it's recommended to stay within 8bit, future screens may have higher bitdepths, and when renderers will start supporting those, it may be beneficial to develop a workflow where the working-space files are rather unnecessarily big and you run some scripts to optimise them for your current render needs, making updating the game in the future for fancier screens less of a drag. Normal maps and heightmaps are officially supposed to be defined with a 'non-color data' working space, but you'll find that most engines will not care much for this. Instead, tell the game engine not to do any conversion on the file when importing. -Specular, glossiness, metalness and roughness maps are all based on linear calculations, and when you find that certain material has a metalness of 0.3, this is 30% gray in a linear space. Therefore, make sure to tell the game engine renderer that this is a linear space image(or at the very least, should NOT be converted). +Specular, glossiness, metalness and roughness maps are all based on linear calculations, and when you find that certain material has a metalness of 0.3, this is 30% gray in a linear space. Therefore, make sure to tell the game engine renderer that this is a linear space image (or at the very least, should NOT be converted). .. seealso:: * `Visualising the XYZ colorspace `_ * `Basics of gamma correction `_ * `Panda3d example of how an image that has gamma encoded without the 3d renderer being notified of it having gamma-encoding can result in too dark images `_ * `2d examples of the effect of gamma-encoding on color maths `_ * `Basic overview colormanagement from argylcms manual `_ diff --git a/general_concepts/colors/color_mixing.rst b/general_concepts/colors/color_mixing.rst index 6e3a8f7af..5664d38b2 100644 --- a/general_concepts/colors/color_mixing.rst +++ b/general_concepts/colors/color_mixing.rst @@ -1,151 +1,151 @@ .. meta:: :description: Color Mixing in a digital media. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Emmet O'Neil :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Mixing, Glossing, Scumbling, Hatching, Dithering, Halftone, Smudge .. _color_mixing: .. _mixing_colors: ============= Mixing Colors ============= Much like physical media, there are many ways to mix colors together in Krita. Traditional painters and illustrators often use techniques like **glazing**, **scumbling**, and **hatching** to mix colors directly on their canvas, on top of mixing colors together on a **palette** or even within the hairs of their **brush**. With a little bit of practice and know-how, and thanks to the variety of powerful tools in Krita, we can mimic all of these mixing techniques in digital painting. In both traditional and digital painting, mixing techniques can be divided into *two major categories*: let's call them **"on-canvas"** and **"off-canvas"**. On-Canvas Mixing ---------------- On-canvas mixing techniques are ones where multiple colors are combined directly on the canvas as the artist paints. This takes a few forms, including **layering semi-transparent color** on top of another color, using **texture** to change how a color is perceived, or even in the interaction between two areas of wet paint in traditional media. Bottom line: on-canvas mixing happens right on the canvas and is a great tool for artistic exploration and "happy accidents". Glazing ~~~~~~~ .. image:: /images/en/color_category/Color_gloss.gif :align: center In traditional painting, **glazing** is overlaying many different semi-transparent layers to create on-canvas color mixtures. Likewise, in digital painting we can also use glazing to mix colors directly on our canvas. This is one of the most fundamental and commonly used mixing techniques in digital painting. -We first lay down a semi-transparent layer on top of another color that we intend to mix with. Then, we pick the **resultant color** with :kbd:`ctrl` + |mouseleft| (this can be configured in the canvas input settings), and paint with that. Depending on our brush's **opacity setting**, each time we glaze one color over another we will get a color that is somewhere between those two colors, often leading to a nice mixture. +We first lay down a semi-transparent layer on top of another color that we intend to mix with. Then, we pick the **resultant color** with :kbd:`Ctrl` + |mouseleft| (this can be configured in the canvas input settings), and paint with that. Depending on our brush's **opacity setting**, each time we glaze one color over another we will get a color that is somewhere between those two colors, often leading to a nice mixture. We can mix even more easily with glazing when we set our brush's **flow** to a lower setting. Subtly different than opacity, :ref:`flow ` is transparency per dab instead of stroke, and so it gives us softer strokes without giving up control. Furthermore, we can combine glazing with various **blending modes** to achieve different, interesting effects. For example, glazing with the **multiply** blending mode to create nice shadows: .. image:: /images/en/color_category/Color_gloss_example_1.png :align: center Staring with line art and base colors. .. image:: /images/en/color_category/Color_gloss_example_2.png :align: center Using a semi-transparent brush that's set to multiply, we can add colored layers to suggest shadows and mid-tones. The multiply blending mode will darken and interact with each base color differently. .. image:: /images/en/color_category/Color_gloss_example_3.png :align: center Then, using a brush with low flow (~0.30), we can pick the resulting colors and lay down more layers. Not only does this help you define the different planes and forms that are so crucial for creating a sense of depth and three-dimensionality, it also gives quite a nice, painterly effect! .. image:: /images/en/color_category/Color_gloss_example_4.png :align: center Continue with a lower opacity and flow to create even smoother gradients. Make your **edges** as sharp or smooth as your subject matter and art style demands! Smudging ~~~~~~~~ .. image:: /images/en/color_category/Color_mix.gif :align: center **Smudge mixing** is done with the :ref:`color_smudge_brush_engine`, a special brush engine that allows you to mix your current brush color with the color(s) under the brush. It's a very powerful type of brush that gives a lovely painterly effect. *Performance wise, it's a bit more demanding and slower than the regular pixel brush.* If you *remove all paint from a smudge brush*, you get a simple-yet-powerful smudge effect: .. image:: /images/en/color_category/Color_smudge.gif :align: center Different smudge brushes have different effects, so be sure to try them all out! Scumbling ~~~~~~~~~ **Scumbling** is similar to glazing, except instead of having a semi-opaque layer, we use layers of **textured** or **patterned** paint. .. image:: /images/en/color_category/Color_scumble2.gif :align: center Like most painting programs, Krita allows you to pick a :ref:`option_brush_tip`, which can be used to create a textured effect like that of scumbling. .. image:: /images/en/color_category/Color_scumble.gif :align: center Krita's brush engines also allow you to use :ref:`option_texture`. This allows you to create interesting and stylized screentone-like effects. With glazing can get you pretty far when it comes to *defining planes and forms*, scumbling is the best method to *create texture and to break up big pasty flats* in your painting. Off-Canvas Mixing ----------------- **Off-canvas** mixing has basically always been a core tool for artists everywhere; when we think of the stereotypical artist we might imagine someone with a few **brushes** in one hand and a wooden **palette** in the other. Whether it's oils, watercolor, or other traditional media, for the artist to have absolute control over their colors it's crucial to have some kind of palette, plate, jar, or other **off-canvas area** to mix colors together. While it's easy to overlook this in digital painting (where selecting fresh new colors without mixing at all is both easy and free*), Krita has a few very useful and unique features for off-canvas mixing. Color Picker Blending ~~~~~~~~~~~~~~~~~~~~~ .. versionadded:: 4.1 Krita, like almost every art and graphics program, has a :ref:`color_picker_tool` which allows you to very quickly sample a color from any pixel on your canvas. While this tool may seem relatively simple and humble, it is also one of the most important and commonly used tools in the digital artist's toolbox - perhaps only second to the brush! In fact, the color picker tool is at the very heart of mixing colors, and is often used in combination with on-canvas techniques like glazing and scumbling to produce smooth blends of color. And still, there is more to this little tool than meets the eye! Not only can you configure Krita's color picker to sample from the average color of a **radius** of pixels, Krita's Color Picker also has a unique **blending** feature: a powerful and intuitive tool for off-canvas color mixing! .. image:: /images/en/color_category/Krita_cpb_mixing.gif :align: center The Color Picker Blending feature changes the way that picking colors has traditionally worked for decades; instead of completely replacing your current brush color with the newly sampled color, *blending allows you to quickly "soak up" some portion of the sampled color*, which is then mixed with your current brush color. You can use Color Picker Blending much like a physical paint brush in traditional media. If you were to dip your paint brush into a pool of *blue* paint, and then immediately dip again into a pool of *red* paint and paint a stoke across your canvas, the stoke wouldn't be pure red - it would be some combination of blue and red which would mix to create an intermediate purple color. Which shade of purple would depend on the ratio of paints that mix together within the hairs of your brush, and this is essentially what the Color Picker's "blend" option controls: what percentage of sampled color is mixed together with your current brush color! Not only does Krita's Color Picker Blending feel even more like mixing paints, it is also completely off-canvas and independent of opacity, flow, shape, and other brush settings. Furthermore, unlike most on-canvas mixing techniques, Color Picker Blending works regardless of the location of colors on your canvas - enabling your to mix with colors at any position, on any layer, or even in different documents! Quickly mix lighting colors with local colors, mix the ambient sky color into shadows, create atmospheric depth, mix from a preselected palette of colors in another layer/document, etc. -To use Color Picker Blending, simply set the "blend" option in the **Tool Options Docker** while the Color Picker Tool is active; setting blend to 100% will cause your Color Picker to work in the traditional way (completely replacing your brush color with the picked color), setting to around 50% will give you a half-way mix between colors, and setting to a lower value will create more subtle shifts in colors each click. Of course, blending affects both your dedicated Color Picker Tool as well as the :kbd:`ctrl +` |mouseleft| shortcut. +To use Color Picker Blending, simply set the "blend" option in the **Tool Options Docker** while the Color Picker Tool is active; setting blend to 100% will cause your Color Picker to work in the traditional way (completely replacing your brush color with the picked color), setting to around 50% will give you a half-way mix between colors, and setting to a lower value will create more subtle shifts in colors each click. Of course, blending affects both your dedicated Color Picker Tool as well as the :kbd:`Ctrl +` |mouseleft| shortcut. .. note:: Clicking and dragging the Color Picker around the canvas currently causes it to sample many times as it switches pixels. You can use this trait to quickly soak up more color by "dipping" your color picker into a color and swirling it around. This can be pretty satisfying! However, this also means that some care must be taken to prevent from accidentally picking up more color than you want. It's pretty easy to click a single pixel only one time using a **mouse**, but when painting with a **drawing tablet and pen** it can sometimes be desirable to use a slightly lower blend setting! The Digital Colors Mixer ~~~~~~~~~~~~~~~~~~~~~~~~ Somewhat hidden away in the **Dockers** menu (:menuselection:`Settings --> Dockers --> Digital Colors Mixer`), this can be a useful tool for off-canvas mixing. The Digital Colors Mixer looks a little bit like an audio mixing board that you'd see in a recording studio, but instead of mixing music it mixes colors! It contains 6 independent **color mixers** that mix your current brush color with any color of your choosing. .. image:: /images/en/color_category/Digi_colormixer.png :align: center By clicking the **color buttons** below each mixer you can choose a palette of colors to mix with. Above each mixer is a **color patch** that will produce a color that mixes some amount of your current brush color with the palette color. Colors towards the top of the mixer will deliver subtle changes to your current color, while colors towards the bottom will be much closer to the palette color of that channel. Other Tips ---------- Outside of making it easier to create smooth gradients, mixing has another benefit: It allows you to create a cohesive piece. Limiting the number of colors we use and then mixing tends to give a more cohesive palette, as we're not trying to do too much at once. This cohesive palette in turn means it will become easier to create a certain mood in an image. Sometimes, mixing in a little bit of accent color can also create unexpected results which in turn can be a little discovery for the audience to delight over as they discover the world of your image. What we can learn from this, is that the next time we select, say, gray, instead of reaching for a random or generic gray from the Advanced Color Selector, consider using one of Krita's many wonderful mixing tools to create an interesting and fitting gray from hues that are roughly complementary (opposite each other on the hue wheel). While on-canvas and off-canvas techniques are fundamentally different categories of mixing colors, they are not mutually exclusive. All of the mixing methods in this article have pros and cons; different tools can be useful for different situations, and combining various techniques can be extremely powerful and fun! Finally, mixing colors will often go far better in a :ref:`higher bit-depth like 16bit `, though it'll make the image take up much more working **memory** (RAM). Furthermore, using a :ref:`linear color space ` can often give far better mixtures than a **gamma-corrected** one, though doing sketches and line art is easier to do in a gamma-corrected space. diff --git a/general_concepts/colors/color_models.rst b/general_concepts/colors/color_models.rst index 38aecbbc0..bef8ddf58 100644 --- a/general_concepts/colors/color_models.rst +++ b/general_concepts/colors/color_models.rst @@ -1,196 +1,196 @@ .. meta:: :description: Color Models in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Models .. _color_models: ============ Color Models ============ Krita has many different color spaces and models. Following here is a brief explanation of each, and their use-cases. .. _model_rgb: RGB --- Red, Green, Blue. These are the most efficient primaries for light-based color mixing, like computer screens. Adding Red, Green and Blue light together results in White, and is thus named the additive color wheel. RGB is used for two purposes: Images that are meant for viewing on a screen: * So that could be images for the web, buttons, avatars, or just portfolio images. * Or for Video games, both sprites and textures are best in RGB there. * Or for 3d rendering, visual effects and cg animation. And for the working space. A working space is an RGB gamut that is really large and predictable, meaning it's good for image manipulation. You use this next to a profiled monitor. This way you can have precise colours while also being able to view them correctly on multiple screens. Blending modes in RGB ~~~~~~~~~~~~~~~~~~~~~ +-------+-----------------+-----------------+-----------------+--------------------+--------------------+ | | Color 1 | Color 2 | Normal | Multiply | Screen | +-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+------+------+------+------+------+ | | R | G | B | R | G | B | R | G | B | R | G | B | R | G | B | +=======+=====+=====+=====+=====+=====+=====+=====+=====+=====+======+======+======+======+======+======+ | R & G | 1.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 | 0.5 | 0.5 | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 1.0 | 0.0 | +-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+------+------+------+------+------+ | Gray | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.25 | 0.25 | 0.25 | 0.75 | 0.75 | 0.75 | +-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+------+------+------+------+------+ RGB models: HSV, HSL, HSI and HSY ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These are not included as their own color spaces in Krita. However, they do show up in the blending modes and color selectors, so a brief overview: --Images of relationship rgb-hsv etc. Hue The tint of a color, or, whether it's red, yellow, green, etc. Krita's Hue is measured in 360 degrees, with 0 being red, 120 being green and 240 being blue. Saturation - How vibrant a color is. Saturation is slightly different between HSV and the others. In HSV it's a measurement of the difference between two base colors being used and three base colors being used. In the others it's a measurement of how close a color is to grey, and sometimes this value is called **Chroma**. Saturation ranges from 0(grey) to 100(pure color). + How vibrant a color is. Saturation is slightly different between HSV and the others. In HSV it's a measurement of the difference between two base colors being used and three base colors being used. In the others it's a measurement of how close a color is to grey, and sometimes this value is called **Chroma**. Saturation ranges from 0 (grey) to 100 (pure color). Value Sometimes known as Brightness. Measurement of how much the pixel needs to light up. Also measured from 0 to 100. Lightness Where a color aligns between white and black. This value is non-linear, and puts all the most saturated possible colors at 50. Ranges from 0 to 100. Intensity Similar to lightness, except it acknowledges that yellow (1,1,0) is lighter than blue (0,0,1). Ranges from 0 to 100. -Luma(Y') +Luma (Y') Similar to lightness and Intensity, except it weights the red, green and blue components based real-life measurements of how much light a color reflects to determine it's lightness. Ranges from 0 to 100. Luma is well known for being used in film-colour spaces. .. _model_gray: Grayscale --------- This color space only registers grey-values. This is useful, because by only registering grey values, it only needs one channel of information, which in turn means the image becomes much lighter in memory consumption! This is useful for textures, but also anything else that needs to stay grayscale, like Black and White comics. +------+---------+---------+--------+----------+--------+ | | Color 1 | Color 2 | Normal | Multiply | Screen | +------+---------+---------+--------+----------+--------+ | | G | G | G | G | G | +======+=========+=========+========+==========+========+ | Gray | 0.5 | 0.5 | 0.5 | 0.25 | 0.75 | +------+---------+---------+--------+----------+--------+ .. _model_cmyk: CMYK ---- Cyan, Magenta, Yellow, Key This is the color space of printers. Unlike computers, printers have these four colors, and adding them all adds up to black instead of white. This is thus also called a 'subtractive' color space. +-------+-----------------------+-----------------------+-----------------------+--------------------------+--------------------------+ | | Color 1 | Color 2 | Normal | Multiply | Screen | +-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+------+-----+------+------+------+-----+------+ | | C | M | Y | K | C | M | Y | K | C | M | Y | K | C | M | Y | K | C | M | Y | K | +=======+=====+=====+=====+=====+=====+=====+=====+=====+=====+=====+=====+=====+======+======+=====+======+======+======+=====+======+ | R & G | 0.0 | 1.0 | 1.0 | 0.0 | 1.0 | 0.0 | 1.0 | 0.0 | 0.5 | 0.5 | 1.0 | 0.0 | 0.25 | 0.25 | 1.0 | 0.0 | 0.75 | 0.75 | 1.0 | 0.0 | +-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+------+-----+------+------+------+-----+------+ | Gray | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | 0.75 | +-------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+------+------+-----+------+------+------+-----+------+ There's also a difference between 'colored gray' and 'neutral gray' depending on the profile. +--------------+---------------------------+-----------------------+---------------------------+ | | 25% | 50% | 75% | +--------------+------+------+------+------+-----+-----+-----+-----+------+------+------+------+ | | C | M | Y | K | C | M | Y | K | C | M | Y | K | +==============+======+======+======+======+=====+=====+=====+=====+======+======+======+======+ | Colored Gray | 0.25 | 0.25 | 0.25 | 0.25 | 0.5 | 0.5 | 0.5 | 0.5 | 0.75 | 0.75 | 0.75 | 0.75 | +--------------+------+------+------+------+-----+-----+-----+-----+------+------+------+------+ | Neutral Gray | 0.0 | 0.0 | 0.0 | 0.25 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 | 0.0 | 0.0 | 0.75 | +--------------+------+------+------+------+-----+-----+-----+-----+------+------+------+------+ .. figure:: /images/en/color_category/Cmyk_black_differences.png :figwidth: 500 :align: center In Krita, there's also the fact that the default color is a perfect black in RGB, which then gets converted to our default CMYK in a funny manner, giving a yellow look to the strokes. Again, another good reason to work in RGB and let the conversion be done by the printing house. While CMYK has a smaller 'gamut' than RGB, however, it's still recommended to use an RGB working space profile to do your editing in. Afterwards, you can convert it to your printer's CMYK profile using either perceptual or relative colorimetric intent. Or you can just give the workspace rgb image to your printer and let them handle the work. .. _model_ycrcb: YCrCb ----- Luminosity, Red-chroma, Blue-chroma YCrCb stands for Y'/Y Luma/Luminosity, thus, the amount of light a color reflects. Cr Red Chroma. This value measures how red a color is versus how green it is. Cb Blue Chroma. This value measures how blue a color is versus how yellow it is. This color space is often used in photography and in (correct) implementations of JPEG. As a human you're much more sensitive to the lightness of colors, and thus JPEG tries to compress the Cr and Cb channels, and leave the Y channel in full quality. .. warning:: Krita doesn't bundle a ICC profile for YCrCb on the basis of there being no open source ICC profiles for this color space. It's unusable without one, and also probably very untested. .. _model_xyz: XYZ ~~~ -Back in 1931, the CIE(Institute of Color and Light), was studying human color perception. +Back in 1931, the CIE (Institute of Color and Light), was studying human color perception. In doing so, they made the first color spaces, with XYZ being the one best at approximating human vision. It's almost impossible to really explain what XYZ is. Y is equal to green. Z akin to blue. X is supposed to be red. XYZ is used as a baseline reference for all other profiles and models. All color conversions are done in XYZ, and all profiles coordinates match XYZ. .. _model_lab: L\*a\*b\* ~~~~~~~~~ Stands for: L\* Lightness, similar to luminosity in this case. a\* a\* in this case is the measurement of how magenta a color is versus how green it is. b\* b\* in this case is a measurement of how yellow a color is versus how blue a color is. L\*a\*b\* is supposed to be a more comprehensible variety of XYZ and the most 'complete' of all color spaces. It's often used as an in between colour space in conversion, but even more as the correct color space to do color-balancing in. It's far easier to adjust the contrast and color tone in L*a*b*. L\*a\*b\* is technically the same as Photoshop's LAB. Photoshop specifically uses CIELAB d50. Filters and blending modes. --------------------------- Maybe you have noticed that blending modes in LAB don't work like they do in RGB or CMYK. This is because the blending modes work by doing a bit of maths on the color coordinates, and because color coordinates are different per color space, the blending modes look different. diff --git a/general_concepts/colors/color_space_size.rst b/general_concepts/colors/color_space_size.rst index 481829199..14542b5cc 100644 --- a/general_concepts/colors/color_space_size.rst +++ b/general_concepts/colors/color_space_size.rst @@ -1,49 +1,49 @@ .. meta:: :description: About Color Space Size .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Spaces .. _color_space_size: ================ Color Space Size ================ Using Krita's color space browser, you can see that there's many different space sizes. .. figure:: /images/en/color_category/Basiccolormanagement_compare4spaces.png :figwidth: 800 :align: center How do these affect your image, and why would you use them? The primary reason to use a large space is for three reasons: #. Even though you can't see the colors, the computer program does understand them and can do color maths with it. #. For exchanging between programs and devices: most CMYK profiles are a little bigger than our default sRGB in places, while in other places, it's smaller. To get the best conversion, having your image in a space that encompasses both your screen profile as your printer profile. -#. For archival purposes. In other words, maybe monitors of the future will have larger amounts of colors they can show(spoiler: they already do), and this allows you to be prepared for that. +#. For archival purposes. In other words, maybe monitors of the future will have larger amounts of colors they can show (spoiler: they already do), and this allows you to be prepared for that. Let's compare the following gradients in different spaces: .. image:: /images/en/color_category/Basiccolormanagement_gradientsin4spaces_v2.jpg .. image:: /images/en/color_category/Basiccolormanagement_gradientsin4spaces_nonmanaged.png -On the left we have an artifact-ridden color managed jpeg file with an ACES sRGBtrc v2 profile attached(or not, depending on mediawiki's mood, if not then you can see the exact different between the colors more clearly). This should give an approximation of the actual colors. On the right, we have an sRGB png that was converted in Krita from the base file. +On the left we have an artifact-ridden color managed jpeg file with an ACES sRGBtrc v2 profile attached (or not, depending on mediawiki's mood, if not then you can see the exact different between the colors more clearly). This should give an approximation of the actual colors. On the right, we have an sRGB png that was converted in Krita from the base file. Each of the gradients is the gradient from the max of a given channel. As you can see, the mid-tone of the ACES color space is much brighter than the mid-tone of the RGB colorspace, and this is because the primaries are further apart. What this means for us is that when we start mixing or applying filters, Krita can output values higher than visible, but also generate more correct mixes and gradients. In particular, when color correcting, the bigger space can help with giving more precise information. If you have a display profile that uses a LUT, then you can use perceptual to give an indication of how your image will look. Bigger spaces do have the downside they require more precision if you do not want to see banding, so make sure to have at the least 16bit per channel when choosing a bigger space. diff --git a/general_concepts/colors/linear_and_gamma.rst b/general_concepts/colors/linear_and_gamma.rst index a4e9cdc66..2fa7d5e84 100644 --- a/general_concepts/colors/linear_and_gamma.rst +++ b/general_concepts/colors/linear_and_gamma.rst @@ -1,122 +1,122 @@ .. meta:: :description: The effect of gamma and linear. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - MicahB :license: GNU free documentation license 1.3 or later. .. index:: Gamma, Linear Color Space, Linear, Tone Response curve, EOTF, Transfer Curve .. _gamma_and_linear: .. _linear_and_gamma: ================ Gamma and Linear ================ Now, the situation we talk about when talking theory is what we would call 'linear'. Each step of brightness is the same value. Our eyes do not perceive linearly. Rather, we find it more easy to distinguish between darker greys than we do between lighter greys. -As humans are the ones using computers, we have made it so that computers will give more room to darker values in the coordinate system of the image. We call this 'gamma-encoding', because it is applying a gamma function to the TRC or transfer function of an image. The TRC in this case being the Tone Response Curve or Tone Reproduction Curve or Transfer function(because color management specialists hate themselves), which tells your computer or printer how much color corresponds to a certain value. +As humans are the ones using computers, we have made it so that computers will give more room to darker values in the coordinate system of the image. We call this 'gamma-encoding', because it is applying a gamma function to the TRC or transfer function of an image. The TRC in this case being the Tone Response Curve or Tone Reproduction Curve or Transfer function (because color management specialists hate themselves), which tells your computer or printer how much color corresponds to a certain value. .. figure:: /images/en/color_category/Pepper_tonecurves.png :align: center :figwidth: 800 One of the most common issues people have with Krita's color management is the assigning of the right colorspace to the encoded TRC. Above, the center Pepper is the right one, where the encoded and assigned TRC are the same. To the left we have a Pepper encoded in sRGB, but assigned a linear profile, and to the right we have a Pepper encoded with a linear TRC and assigned an sRGB TRC. Image from `Pepper & Carrot `_ The following table shows how there's a lot of space being used by lighter values in a linear space compared to the default sRGB trc of our modern computers and other TRCs available in our delivered profiles: .. image:: /images/en/color_category/trc_gray_gradients.svg :align: center If you look at linear of rec 709 TRCs, you can see there's quite a jump between the darker shades and the lighter shades, while if we look at the Lab L* TRC or the sRGB TRC, which seem more evenly spaced. This is due to our eyes' sensitivity to darker values. This also means that if you do not have enough bit depth, an image in a linear space will look as if it has ugly banding. Hence why, when we make images for viewing on a screen, we always use something like the LAB L\*, sRGB or Gamma 2.2 TRCs to encode the image with. However, this modification to give more space to darker values does lead to wonky color maths when mixing the colors. We can see this with the following experiment: .. figure:: /images/en/color_category/Krita_2_9_colormanagement_blending_1.png :figwidth: 500 :align: center **Left:** Colored circles blurred in a regular sRGB space. **Right:** Colored circles blurred in a linear space. Colored circles, half blurred. In a gamma-corrected environment, this gives an odd black border. In a linear environment, this gives us a nice gradation. This also counts for Krita's colour smudge brush: .. figure:: /images/en/color_category/Krita_2_9_colormanagement_blending_2.png :figwidth: 500 :align: center That's right, the 'muddying' of colours as is a common complaint by digital painters everywhere, is in fact, a gamma-corrected colourspace mucking up your colours. If you had been working in LAB to avoid this, be sure to try out a linear rgb colour space. What is happening under the hood -------------------------------- Imagine we want to mix red and green. First, we would need the color coordinates of red and green inside our colour space's color model. So, that'd be... ===== === ===== ==== Color Red Green Blue ===== === ===== ==== Red 1.0 0.0 0.0 Green 0.0 1.0 0.0 ===== === ===== ==== We then average these coordinates over three mixes: +-------+-----+------+------+------+-------+ | | Red | Mix1 | Mix2 | Mix3 | Green | +=======+=====+======+======+======+=======+ | Red | 1.0 | 0.75 | 0.5 | 0.25 | 0.0 | +-------+-----+------+------+------+-------+ | Green | 0.0 | 0.25 | 0.5 | 0.75 | 1.0 | +-------+-----+------+------+------+-------+ | Blue | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | +-------+-----+------+------+------+-------+ But to figure out how these colours look on screen, we first put the individual values through the TRC of the color-space we're working with: .. image:: /images/en/color_category/Basicreading3trcsv2.svg :width: 800 :align: center Then we fill in the values into the correct spot. Compare these to the values of the mixture table above! .. image:: /images/en/color_category/red_green_mixes_trc.svg :align: center And this is why colour mixtures are lighter and softer in linear space. Linear space is more physically correct, but sRGB is more efficient in terms of space, so hence why many images have an sRGB TRC encoded into them. In case this still doesn't make sense: *sRGB gives largely* **darker** *values than linear space for the same coordinates.* So different TRCs give different mixes between colors, in the following example, every set of gradients is in order a mix using linear trc, a mix using srgb trc and a mix using lab L* trc. .. image:: /images/en/color_category/3trcsresult.png :width: 800 :align: center So, you might be asking, how do I tick this option? Is it in the settings somewhere? The answer is that we have several icc profiles that can be used for this kind of work: * scRGB (linear) * All 'elle'-profiles ending in 'g10', such as *sRGB-elle-v2-g10.icc*. In fact, in all the 'elle'-profiles, the last number indicates the gamma. 1.0 is linear, higher is gamma-corrected and 'srgbtrc' is a special gamma correction for the original sRGB profile. If you use the color space browser, you can tell the TRC from the 'estimated gamma'(if it's 1.0, it's linear), or from the TRC widget in Krita 3.0, which looks exactly like the curve graphs above. Even if you do not paint much, but are for example making textures for a videogame or rendering, using a linear space is very beneficial and will speed up the renderer a little, for it won't have to convert images on it's own. The downside of linear space is of course that white seems very overpowered when mixing with black, because in a linear space, light greys get more room. In the end, while linear space is physically correct, and a boon to work in when you are dealing with physically correct renderers for videogames and raytracing, Krita is a tool and no-one will hunt you down for preferring the dark mixing of the sRGB trc. diff --git a/general_concepts/colors/profiling_and_callibration.rst b/general_concepts/colors/profiling_and_callibration.rst index 79ed35a8a..89aed1a21 100644 --- a/general_concepts/colors/profiling_and_callibration.rst +++ b/general_concepts/colors/profiling_and_callibration.rst @@ -1,89 +1,91 @@ .. meta:: :description: Color Models in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - RNicole - Timothée Giet - Troy Sobotka :license: GNU free documentation license 1.3 or later. .. index:: Color, Profiling, Calibration .. _profiling_and_calibration: =========================== Profiling and Calibration: =========================== So to make it simple, a color profile is just a file defining a set of colors inside a pure XYZ color cube. This "color set" can be used to define different things: * the colors inside an image * the colors a device can output Choosing the right workspace profile to use depends on how much colors you need and on the bit depth you plan to use. Imagine a line with the whole color spectrum from pure black (0,0,0) to pure blue (0,0,1) in a pure XYZ color cube. If you divide it choosing steps at a regular interval, you get what is called a linear profile, with a gamma=1 curve represented as a straight line from 0 to 1. With 8bit/channel bit depth, we have only 256 values to store this whole line. If we use a linear profile as described above to define those color values, we will miss some important visible color change steps and have a big number of values looking the same (leading to posterization effect). This is why was created the sRGB profile to fit more different colors in this limited amount of values, in a perceptually regular grading, by applying a custom gamma curve (see picture here: http://en.wikipedia.org/wiki/SRGB) to emulate the standard response curve of old CRT screens. So sRGB profile is optimized to fit all colors that most common screen can reproduce in those 256 values per R/G/B channels. Some other profiles like Adobe RGB are optimized to fit more printable colors in this limited range, primarily extending cyan-green hues. Working with such profile can be useful to improve print results, but is dangerous if not used with a properly profiled and/or calibrated good display. Most common CMYK workspace profile can usually fit all their colors within 8bit/channel depth, but they are all so different and specific that it's usually better to work with a regular RGB workspace first and then convert the output to the appropriate CMYK profile. Starting with 16bit/channel, we already have 65536 values instead of 256, so we can use workspace profiles with higher gamut range like Wide-gamut RGB or Pro-photo RGB, or even unlimited gamut like scRGB. But sRGB being a generic profile (even more as it comes from old CRT specifications..) , there are big chances that your monitor have actually a different color response curve, and so color profile. So when you are using sRGB workspace and have a proper screen profile loaded (see next point), Krita knows that the colors the file contains are within the sRGB color space, and converts those sRGB values to corresponding color values from your monitor profile to display the canvas. Note that when you export your file and view it in another software, this software has to do two things: * read the embed profile to know the "good" color values from the file (which most software do nowadays; when they don't they usually default to sRGB, so in the case described here we're safe ) * and then convert it to the profile associated to the monitor (which very few software actually does, and just output to sRGB.. so this can explain some viewing differences most of the time). Krita uses profiles extensively, and comes bundled with many. The most important one is the one of your own screen. It doesn't come bundled, and you have to make it with a color profiling device. In case you don't have access to such a device, you can't make use of Krita's color management as intended. However, Krita does allow the luxury of picking any of the other bundled profiles as working spaces. Profiling devices ----------------- Profiling devices, called Colorimeters, are tiny little cameras of a kind that you connect to your computer via an usb, and then you run a profiling software (often delivered alongside of the device). + .. note:: + If you don't have software packaged with your colorimeter, or are unhappy with the results, we recommend `Argyllcms `_ The little camera then measures what the brightest red, green, blue, white and black are like on your screen using a predefined white as base. It also measures how grey the color grey is. It then puts all this information into an ICC profile, which can be used by the computer to correct your colors. It's recommended not to change the "calibration" (contrast, brightness, you know the menu) of your screen after profiling. Doing so makes the profile useless, as the qualities of the screen change significantly while calibrating. To make your screen display more accurate colors, you can do one or two things: profile your screen or calibrate and profile it. Just profiling your screen means measuring the colors of your monitor with its native settings. and put those values in a color profile, which can be used by color-managed application to adapt source colors to the screen for optimal result. Calibrating and profiling means the same except that first you try to calibrate the screen colors to match a certain standard setting like sRGB or other more specific profiles. Calibrating is done first with hardware controls (lightness, contrast, gamma curves), and then with software that creates a vcgt (video card gamma table) to load in the GPU. So when or why should you do just one or both? Profiling only: with a good monitor you can get most of the sRGB colors and lot of extra colors not inside sRGB. So this can be good to have more visible colors. with a bad monitor you will get just a subset of actual sRGB, and miss lot of details, or even have hue shifts. Trying to calibrate it before profiling can help to get closer to full-sRGB colors. Calibration+profiling: bad monitors as explained just before. multi-monitor setup when using several monitors, and specially in mirror mode where both monitor have the same content, you can't have this content color-managed for both screen profiles. In such case, calibrating both screens to match sRGB profile (or another standard for high-end monitors if they both support it) can be a good solution. soft-proofing when you need to match an exact rendering context for soft-proofing, calibrating can help getting closer to the expected result. Though switching through several monitor calibration and profiles should be done extremely carefully. diff --git a/general_concepts/colors/scene_linear_painting.rst b/general_concepts/colors/scene_linear_painting.rst index efed6fc6c..c1a5b2a9c 100644 --- a/general_concepts/colors/scene_linear_painting.rst +++ b/general_concepts/colors/scene_linear_painting.rst @@ -1,164 +1,164 @@ .. meta:: :description: Scene Linear painting in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Color, HDR, High Dynamic Range, Scene Linear, Scene Referred, Scene Linear Painting .. _scene_linear_painting: ===================== Scene Linear Painting ===================== Previously referred to as HDR painting and Scene Referred painting, Scene Linear Painting is doing digital painting in a peculiar type of colorspace. It is painting in a color space that is... 1. Linear - there’s no gamma encoding, or tone-mapping or whatever going on with the pixels you manipulate. (This is different from the pixels you see, but we’ll get to that later) 2. Floating Point - So 16bit or 32bit floating point per channel. These are the two important characteristics. The colorspace has a few more properties than this, such as the white point, or more importantly, the colorants that make up the gamut. But here’s the thing, those two could be anything, as long as the space is linear and the color depth is floating point. So, *Scene Linear is not a single one colorspace, but a **TYPE** of colorspace*. You can have a scene linear space that uses the sRGB/rec 709 colorants, or one that uses adobeRGB, or maybe one that uses rec 2020, as long as it is *linear* and in a *floating point bit depth*. These two factors are for one reason: To make black and white arbitrary values. This might seem a bit weird. But when you are dealing with light-sources, you are dealing with a massive range of contrasts, and will have to decide afterwards which white and black you’d like to have. This is what the scene means in scene-linear, the relevant values are unique per scene, like a real world scene: a flowerfield lit by moonlight, a city in twilight or a sunny beach. You want to be able to put the right emphasis on the most important contrasting values, and being able to choose what is white and what is black is a very powerful tool here. After all, humans in the real world can see much more when they get used to the dark, or to the sun, so why not apply that to how we make our images? This is also why it needs to be Linear. Gamma and Tone-mapped color spaces are already choosing which contrast is the most important to you. But for that, they too need to choose what is white or black. Linear doesn’t make such assumptions, so much better for when you want to choose yourself. You will eventually want to stick your image through some tone-mapping or gamma correction, but only at the end after you have applied filters and mixed colors! In fact, there’s always a non-destructive sort of transform going on while you are working on your image which includes the tone-mapping. This is called a display or view transform, and they provide a sort of set of binoculars into the world of your image. Without it, your computer cannot show these colors properly; it doesn’t know how to interpret it properly, often making the image too dark. Providing such a transform and allowing you to configure it is the prime function of color management. Between different view and display transforms, there’s also a difference in types. Some are really naive, others are more sophisticated, and some need to be used in a certain manner to work properly. The ICC color management can only give a certain type of view transforms, while OCIO color management in the lut docker can give much more complex transforms easily configurable and custom settings that can be shared between programs. .. figure:: /images/en/color_category/Krita_scenelinear_cat_01.png :figwidth: 800 :align: center Above, an example of the more naive transform provided by going from scene-linear sRGB to regular sRGB, and to the right a more sophisticated transform coming from the filmic blender ocio configuration. Look at the difference between the paws. Image by Wolthera van Hövell tot Westerflier, License: CC-BY-SA Conversely, transforming and interpreting your image’s colors is the only thing OCIO can do, and it can do it with really complex transforms, really fast. It doesn’t understand what your image’s color space is originally, doesn’t understand what CMYK is, and there’s also no such thing as a OCIO color profile. Therefore you will need to switch to an ICC workflow if you wish to prepare for print. Yes, but what is the point? --------------------------- The point is making things easier in the long run: #. It is easier to keep saturated non-muddy colors in a linear space. #. The high bit depth makes it easier to get smoother color mixes. #. Filters are more powerful a give nicer results in this space. It is far more easy to get nice blurring and bokeh results. -#. Simple Blending Modes like Multiply or Addition are suddenly black magic. This is because Scene-Linear is the closest you can get to the physical(as in, physics, not material) model of color where multiplying colors with one another is one of the main ways to calculate the effect of light. +#. Simple Blending Modes like Multiply or Addition are suddenly black magic. This is because Scene-Linear is the closest you can get to the physical (as in, physics, not material) model of color where multiplying colors with one another is one of the main ways to calculate the effect of light. #. Combining painting with other image results such as photography and physically based rendering is much easier as they too work in such a type of colorspace. So you could use such images as a reference with little qualms, or make textures that play nice with such a renderer. So the advantages are prettier colors, cooler filter results, more control and easier interchange with other methods. Okay, but why isn’t this all the rage then? ------------------------------------------- Simply put, because while it’s easier in the long run, you will also have to drop tools and change habits... In particular, there’s many a tool in a digital painter’s toolbox that has **hard-coded assumptions about black and white**. -A very simple but massive problem is one with **inversion**. Inverting colors is done code-wise by taking the color for white and subtracting the color you want to invert from it. It’s used in many blending modes. But often the color white is hardcoded in these filters. There’s currently no application out there that allows you to define the value range that inversion is done with, so inverting is useless. And that also means the filters and blending modes that use it, such as(but not limited to)... +A very simple but massive problem is one with **inversion**. Inverting colors is done code-wise by taking the color for white and subtracting the color you want to invert from it. It’s used in many blending modes. But often the color white is hardcoded in these filters. There’s currently no application out there that allows you to define the value range that inversion is done with, so inverting is useless. And that also means the filters and blending modes that use it, such as (but not limited to)... * Screen (invert+multiply+invert) * Overlay (screens values below midtone-value, in sRGB this would be middle gray) * Color-dodge (divides the lower color with an inversion of the top one) * Color-burn (inverts the lower color and then divides it by the top color) * Hardlight (A different way of doing overlay, including the inversion) * Softlight (Uses several inversions along the way) -Conversely Multiply, Linear Dodge/Addition(they’re the same thing), Subtract, Divide, Darker(only compares colors’ channel values), Lighter(ditto), and Difference *are fine to use*, as long as the program you use doesn’t do weird clipping there. +Conversely Multiply, Linear Dodge/Addition (they’re the same thing), Subtract, Divide, Darker (only compares colors’ channel values), Lighter (ditto), and Difference *are fine to use*, as long as the program you use doesn’t do weird clipping there. Another one is HSL, HSI and HSY algorithms. They too need to assume something about the top value to allow scaling to white. HSV doesn’t have this problem. So it’s best to use an HSV color selector. -For the blending modes that use HSY, there’s always the issue that they tend to be hardcoded to sRGB/Rec709 values, but are otherwise fine(and they give actually far more correct results in a linear space). So these are not a good idea to use with wide-gamut colorspaces, and due to the assumption about black and white, not with scene linear painting. The following blending modes use them: +For the blending modes that use HSY, there’s always the issue that they tend to be hardcoded to sRGB/Rec709 values, but are otherwise fine (and they give actually far more correct results in a linear space). So these are not a good idea to use with wide-gamut colorspaces, and due to the assumption about black and white, not with scene linear painting. The following blending modes use them: * Color * Luminosity * Saturation -* Darker Color(uses luminosity to determine the color) -* Lighter Color(Ditto) +* Darker Color (uses luminosity to determine the color) +* Lighter Color (Ditto) So that is the blending modes. Many filters suffer from similar issues, and in many applications, filters aren’t adjusted to work with arbitrary whites. Speaking of filters, when using the transform tool, you should also avoid using lanczos3, it’ll give a weird black halo to sharp contrasts in scene-linear. The bilinear interpolation filter will work just fine in this case. The second big problem is that **black doesn’t work quite the same**. If you have mixed pigments before, you will know that black can quite easily overpower the other colors, so you should only add the tiniest amount of it to a mixture. White in contrast gets dirtied quite easily. In a Scene Linear Color space, this is flipped. White is now more overpowering and black gets washed out super quickly. This relates to the additive nature of digital color theory, that becomes more obvious when working in linear. This makes sketching a bit different, after all, it’s really difficult to make marks now. To get around this, you can do the following: * Sketch on a mid-gray background. This is recommended anyway, as it serves as a neutral backdrop. For a linear space, 18% or 22% gray would be a good neutral. * Make a special brush that is more opaque than the regular sketching brushes you use. * Or conversely, sketch with white instead. * For painting, block out the shapes with a big opaque brush before you start doing your mixing. Overall, this is something that will take a little while getting used to, but you will get used to it soon enough. Finally, there’s the **issue of size**. 16 bit float per channel images are big. 32 bit float per channel images are bigger. This means that they will eat ram and that painting and filtering will be slower. This is something that will fix itself over the years, but not many people have such a high-end pc yet, so it can be a blocker. So the issues are tools, expectations and size. In Summary ~~~~~~~~~~ Scene Linear Painting is painting an image in a color space that is linear and has a floating point bit depth. This does not assume anything about the values of black and white, so you can only use tools that don’t assume anything about the values of black and white. It has the advantage of having nicer filter results and better color mixtures as well as better interoperability with other scene-linear output. To be able to view such an image you use a view transform, also called a display conversion. Which means that if you wish to finalise your image for the web, you make a copy of the image that goes through a display conversion or view transform that then gets saved to png or jpeg or tiff. Getting to actual painting -------------------------- Now we’ve covered the theory, let us look at a workflow for painting scene linear. Setting up the Canvas ~~~~~~~~~~~~~~~~~~~~~ Select either a 16bit or 32bit image. By default Krita will select a linear sRGB profile. This is fine. Then, download an OCIO config. I will use `Filmic Blender `_ here because it is quite simple to set up. Extract the downloaded zip somewhere you can find it back. Open the LUT docker, turn on OCIO, select ‘OCIO’ and set the path to the downloaded OCIO config. Set the view to ‘Filmic log encoding’ and the look to ‘Base Contrast’. And now you can start painting! Keep in mind everything mentioned above. Not all filters and not all blending modes work. This will improve in the future. Other than that, everything else is the same. Picking really bright colors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Picking regular colors is easy, but how do we pick the really bright colors? There are three ways of getting access to the really bright colors in Krita: #. By lowering the exposure in the LUT docker. This will increase the visible range of colors in the color selectors. You can even hotkey the exposure in the canvas input settings. #. Or simply by opening the internal color selector by double clicking the dual color button and typing in values higher than 1 into the field. #. And finally by picking a really bright color from an image that has such values. Then paint. It’s recommended to make a bunch of swatches in the corner, at the least, until Krita’s new palette docker allows you to save the values properly. Lighting based workflow ~~~~~~~~~~~~~~~~~~~~~~~ So, we have our typical value based workflow, where we only paint the grays of the image so that we can focus on the values of the image. We can do something similar with Scene Linear Painting. Where with the value based workflow you paint the image as if it were a grayscale of what you intended to paint, with a lighting based workflow you paint as if all the objects are white. The effect of the color of an object can be determined by multiplying its base color with the color of the light. So you could paint objects as if they were white, paint the colors on a separate layer and just use the multiply blending mode to get the right colors. .. figure:: /images/en/color_category/Krita_scenelinear_cat_02.png :align: center :figwidth: 800 The leftmost image is both the lighting based one and the color layer separate, the middle with the two layers multiplied and the right a luminosity based view. This cat is a nice example as it demonstrates why having textures and lighting separate could be interesting.) You can even combine this with a value based workflow by opening a new view and setting the component to luminosity. That way you can see both the grayscale as well as the lighting based version of the image next to one another. The keen minded will notice that a lighting based workflow kind of resembles the idea of a light-pass and a color pas in 3d rendering. And indeed, it is basically the same, so you can use lighting passes from 3d renders here, just save them as EXR and import them as a layer. One of the examples where scene linear painting simplifies combining methods. Finishing up ~~~~~~~~~~~~ -When you are done, you will want to apply the view transform you have been using to the image(at the least, if you want to post the end result on the internet)... This is called LUT baking and not possible yet in Krita. Therefore you will have to save out your image in EXR and open it in either Blender or Natron. Then, in Blender it is enough to just use the same ocio config, select the right values and save the result as a png. +When you are done, you will want to apply the view transform you have been using to the image (at the least, if you want to post the end result on the internet)... This is called LUT baking and not possible yet in Krita. Therefore you will have to save out your image in EXR and open it in either Blender or Natron. Then, in Blender it is enough to just use the same ocio config, select the right values and save the result as a png. You can even use some of Blender’s or Natron’s filters at this stage, and when working with others, you would save out in EXR so that others can use those. diff --git a/general_concepts/colors/viewing_conditions.rst b/general_concepts/colors/viewing_conditions.rst index 43839d1e0..305256827 100644 --- a/general_concepts/colors/viewing_conditions.rst +++ b/general_concepts/colors/viewing_conditions.rst @@ -1,93 +1,93 @@ .. meta:: :description: What are viewing conditions. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Viewing Conditions, Metamerism, Color .. _viewing_conditions: ================== Viewing Conditions ================== We mentioned viewing conditions before, but what does this have to do with 'white points'? A lot actually, rather, white points describe a type of viewing condition. -So, usually what we mean by viewing conditions is the lighting and decoration of the room that you are viewing the image in. Our eyes try to make sense of both the colors that you are looking at actively(the colors of the image) and the colors you aren't looking at actively(the colors of the room), which means that both sets of colors affect how the image looks. +So, usually what we mean by viewing conditions is the lighting and decoration of the room that you are viewing the image in. Our eyes try to make sense of both the colors that you are looking at actively (the colors of the image) and the colors you aren't looking at actively (the colors of the room), which means that both sets of colors affect how the image looks. .. figure:: /images/en/color_category/Meisje_met_de_parel_viewing.png :figwidth: 800 :align: center **Left**: Let's ruin Vermeer by putting a bright purple background that asks for more attention than the famous painting it self. **Center**: a much more neutral backdrop that an interior decorator would hate but brings out the colors. **Right**: The approximate color that this painting is displayed against in real life in the Maurits House, at the least, last time I was there. Original image from wikipedia commons. This is for example, the reason why museum exhibitioners can get really angry at the interior decorators when the walls of the museum are painted bright red or blue, because this will drastically change the way how the painting's colors look. (Which, if we are talking about a painter known for their colors like Vermeer, could result in a really bad experience). .. figure:: /images/en/color_category/Krita_example_metamerism.png :figwidth: 500 :align: center Lighting is the other component of the viewing condition which can have dramatic effects. Lighting in particular affects the way how all colors look. For example, if you were to paint an image of sunflowers and poppies, print that out, and shine a bright yellow light on it, the sunflowers would become indistinguishable from the white background, and the poppies would look orange. This is called [https://en.wikipedia.org/wiki/Metamerism_%28color%29 metamerism], and it's generally something you want to avoid in your color management pipeline. Examples where metamerism could become a problem is when you start matching colors from different sources together. .. figure:: /images/en/color_category/White_point_mix_up_ex1_01.svg :figwidth: 500 :align: center For example, if you are designing a print for a red t-shirt that's not bright red, but not super greyish red either. And you want to make sure the colors of the print match the color of the t-shirt, so you make a dummy background layer that is approximately that red, as correctly as you can observe it, and paint on layers above that dummy layer. When you are done, you hide this dummy layer and sent the image with a transparent background to the press. .. figure:: /images/en/color_category/White_point_mixup_ex1_02.png :figwidth: 300 :align: center But when you get the t-shit from the printer, you notice that all your colors look off, mismatched, and maybe too yellowish (and when did that T-Shirt become purple?). This is where white points come in. You probably observed the t-shirt in a white room where there were incandescent lamps shining, because as a true artist, you started your work in the middle of the night, as that is when the best art is made. However, incandescent lamps have a black body temperature of roughly 2300-2800K, which makes them give a yellowish light, officially called White Point A. Your computer screen on the other hand, has a black body temperature of 6500K, also known as D65. Which is a far more blueish color of light than the lamps you are hanging. What's worse, Printers print on the basis of using a white point of D50, the color of white paper under direct sunlight. .. figure:: /images/en/color_category/White_point_mix_up_ex1_03.svg :figwidth: 500 :align: center -So, by eye-balling your t-shirt's color during the evening, you took it's red color as transformed by the yellowish light. Had you made your observation in diffuse sunlight of an overcast(which is also roughly D65), or made it in direct sunlight light and painted your picture with a profile set to D50, the color would have been much closer, and thus your design would not be as yellowish. +So, by eye-balling your t-shirt's color during the evening, you took it's red color as transformed by the yellowish light. Had you made your observation in diffuse sunlight of an overcast (which is also roughly D65), or made it in direct sunlight light and painted your picture with a profile set to D50, the color would have been much closer, and thus your design would not be as yellowish. .. figure:: /images/en/color_category/White_point_mixup_ex1_03.png :figwidth: 500 :align: center Applying a white balance filter will sort of match the colors to the tone as in the middle, but you would have had a much better design had you designed against the actual color to begin with. Now, you could technically quickly fix this by using a white balancing filter, like the ones in G'MIC, but because this error is caught at the end of the production process, you basically limited your use of possible colors when you were designing, which is a pity. Another example where metamerism messes things up is with screen projections. We have a presentation where we mark one type of item with red, another with yellow and yet another with purple. On a computer the differences between the colors are very obvious. .. figure:: /images/en/color_category/Krita_metamerism_presentation.svg :figwidth: 800 :align: center However, when we start projecting, the lights of the room aren't dimmed, which means that the tone scale of the colors becomes crunched, and yellow becomes near indistinguishable from white. Furthermore, because the light in the room is slightly yellowish, the purple is transformed into red, making it indistinguishable from the red. Meaning that the graphic is difficult to read. In both cases, you can use Krita's color management a little to help you, but mostly, you just need to be ''aware'' of it, as Krita can hardly fix that you are looking at colors at night, or the fact that the presentation hall owner refuses to turn off the lights. That said, unless you have a display profile that uses LUTs, such as an OCIO lut or a cLUT icc profile, white point won't matter much when choosing a working space, due to weirdness in the icc v4 workflow which always converts matrix profiles with relative colorimetric, meaning the white points are matched up. diff --git a/general_concepts/file_formats/file_exr.rst b/general_concepts/file_formats/file_exr.rst index a22ebc7b2..f95289d0f 100644 --- a/general_concepts/file_formats/file_exr.rst +++ b/general_concepts/file_formats/file_exr.rst @@ -1,22 +1,22 @@ .. meta:: :description: The EXR file format as exported by Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: EXR, HDR Fileformat, OpenEXR, *.exr .. _file_exr: ====== \*.exr ====== .exr is the prime file format for saving and loading :ref:`floating point bit depths `, and due to the library made to load and save these images being fully open source, the main interchange format as well. Floating point bit-depths are used by the computer graphics industry to record scene referred values, which can be made via a camera or a computer renderer. Scene referred values means that the file can have values whiter than white, which in turn means that such a file can record lighting conditions, such as sunsets very accurately. These exr files can then be used inside a renderer to create realistic lighting. -Krita can load and save exr for the purpose of paint-over(yes, Krita can paint with scene referred values) and interchange with applications like Blender, Mari, Nuke and Natron. +Krita can load and save exr for the purpose of paint-over (yes, Krita can paint with scene referred values) and interchange with applications like Blender, Mari, Nuke and Natron. diff --git a/general_concepts/file_formats/file_gif.rst b/general_concepts/file_formats/file_gif.rst index b68face04..4db9eebba 100644 --- a/general_concepts/file_formats/file_gif.rst +++ b/general_concepts/file_formats/file_gif.rst @@ -1,19 +1,19 @@ .. meta:: :description: The Gif file format in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: GIF, *.gif .. _file_gif: ====== \*.gif ====== -.gif is a fileformat mostly known for the fact that it can save animations. It's a fairly old format, and it does it's compression by :ref:`indexing ` the colors to a maximum of 256 colors per frame. Because we can technically design an image for 256 colors and are always able save over an edited gif without any kind of extra degradation, this is a :ref:`lossless ` compression technique. +.gif is a fileformat mostly known for the fact that it can save animations. It's a fairly old format, and it does its compression by :ref:`indexing ` the colors to a maximum of 256 colors per frame. Because we can technically design an image for 256 colors and are always able save over an edited gif without any kind of extra degradation, this is a :ref:`lossless ` compression technique. This means that it can handle most grayscale images just fine and without losing any visible quality. But for color images that don't animate it might be better to use :ref:`file_jpg` or :ref:`file_png`. diff --git a/general_concepts/file_formats/file_gih.rst b/general_concepts/file_formats/file_gih.rst index 74021c966..e19b70c2b 100644 --- a/general_concepts/file_formats/file_gih.rst +++ b/general_concepts/file_formats/file_gih.rst @@ -1,45 +1,45 @@ .. meta:: :description: The Gimp Image Hose file format in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Image Hose, Gimp Image Hose, GIH, *.gih .. _file_gih: ====== \*.gih ====== The GIMP image hose format. Krita can open and save these, as well as import via the :ref:`predefined brush tab `. Image Hose means that this fileformat allows you to store multiple images and then set some options to make it specify how to output the multiple images. .. figure:: /images/en/Gih-examples.png :figwidth: 640px :align: center From top to bottom: Incremental, Pressure and Random Gimp image hose format options: Constant This'll use the first image, no matter what. Incremental This'll paint the image layers in sequence. This is good for images that can be strung together to create a pattern. Pressure This'll paint the images depending on pressure. This is good for brushes imitating the hairs of a natural brush. Random This'll draw the images randomly. This is good for image-collections used in speedpainting as well as images that generate texture. Or perhaps more graphical symbols. Angle This'll use the dragging angle to determine with image to draw. -When exporting a krita file as a .gih, you will also get the option to set the default spacing, the option to set the name(very important for looking it up in the UI) and the ability to choose whether or not to generate the mask from the colors. +When exporting a krita file as a .gih, you will also get the option to set the default spacing, the option to set the name (very important for looking it up in the UI) and the ability to choose whether or not to generate the mask from the colors. Use Color as Mask This'll turn the darkest values of the image as the ones that paint, and the whitest as transparent. Untick this if you are using colored images for the brush. We have a :ref:`Krita Brush tip page ` on how to create your own gih brush. diff --git a/general_concepts/file_formats/file_jpeg.rst b/general_concepts/file_formats/file_jpeg.rst index 18f114663..8253f278c 100644 --- a/general_concepts/file_formats/file_jpeg.rst +++ b/general_concepts/file_formats/file_jpeg.rst @@ -1,26 +1,26 @@ .. meta:: :description: The JPEG file format as exported by Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: jpeg, jpg, *.jpg .. _file_jpg: .. _file_jpeg: ====== \*.jpg ====== .jpg, .jpeg or .jpeg2000 are a family of file-formats designed to encode photographs. -Photographs have the problem that they have a lot of little gradients, which means that you cannot index the file like you can with :ref:`file_gif` and expect the result to look good. What jpeg instead does is that it converts the file to a perceptual color space(:ref:`YCrCb `), and then compresses the channels that encode the colors, while keeping the channel that holds information about the relative lightness uncompressed. This works really well because human eye-sight is not as sensitive to colorfulness as it is to relative lightness. Jpeg also uses other :ref:`lossy ` compression techniques, like using cosine waves to describe image contrasts. +Photographs have the problem that they have a lot of little gradients, which means that you cannot index the file like you can with :ref:`file_gif` and expect the result to look good. What jpeg instead does is that it converts the file to a perceptual color space (:ref:`YCrCb `), and then compresses the channels that encode the colors, while keeping the channel that holds information about the relative lightness uncompressed. This works really well because human eye-sight is not as sensitive to colorfulness as it is to relative lightness. Jpeg also uses other :ref:`lossy ` compression techniques, like using cosine waves to describe image contrasts. However, it does mean that jpeg should be used in certain cases. For images with a lot of gradients, like full scale paintings, jpeg performs better than :ref:`file_png` and :ref:`file_gif`. But for images with a lot of sharp contrasts, like text and comic book styles, png is a much better choice despite a larger file size. For grayscale images, png and gif will definitely be more efficient. Because jpeg uses lossy compression, it is not advised to save over the same jpeg multiple times. The lossy compression will cause the file to reduce in quality each time you save it. This is a fundamental problem with lossy compression methods. Instead use a lossless file format, or a working file format while you are working on the image. diff --git a/general_concepts/file_formats/file_ora.rst b/general_concepts/file_formats/file_ora.rst index df21c9a12..3b0487b6b 100644 --- a/general_concepts/file_formats/file_ora.rst +++ b/general_concepts/file_formats/file_ora.rst @@ -1,23 +1,23 @@ .. meta:: :description: The Open Raster Archive file format as exported by Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: *.ora, ORA, Open Raster Archive .. _file_ora: ====== \*.ora ====== -.ora, or the Open Raster format, is an interchange format. It was designed to replace :ref:`file_psd` as an interchange format, as the latter isn't meant for that. Like :ref:`file_kra` it is loosely based on the Open Document structure, thus a zip file with a bunch of xmls and pngs, but where Krita's internal fileformat can sometimes have fully binary chunks, .ora saves it's layers as :ref:`file_png` making it fully open and easy to support. +.ora, or the Open Raster format, is an interchange format. It was designed to replace :ref:`file_psd` as an interchange format, as the latter isn't meant for that. Like :ref:`file_kra` it is loosely based on the Open Document structure, thus a zip file with a bunch of xmls and pngs, but where Krita's internal fileformat can sometimes have fully binary chunks, .ora saves its layers as :ref:`file_png` making it fully open and easy to support. As an interchange format, it can be expected to be heavy and isn't meant for uploading to the internet. .. seealso:: `Open Raster Specification `_ diff --git a/general_concepts/file_formats/file_pbgpm.rst b/general_concepts/file_formats/file_pbgpm.rst index 3e5d48f94..5143ee96d 100644 --- a/general_concepts/file_formats/file_pbgpm.rst +++ b/general_concepts/file_formats/file_pbgpm.rst @@ -1,27 +1,27 @@ .. meta:: :description: The pbm, pgm and ppm file formats as exported by Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: *.pbm, *.pgm, *.ppm, PBM, PGM, PPM .. _file_pbm: .. _file_pgm: .. _file_ppm: ====================== \*.pbm, \*.pgm, \*.ppm ====================== .pbm, .pgm, .ppm are a series of file-formats with a similar logic to them. They are designed to save images in a way that the result can be read as an ascii file, from back when email clients couldn't read images reliably. They are very old file formats, and not used outside of very specialised usecases, such as embedding images inside code. .pbm one-bit and can only show strict black and white. .pgm - can show 255 values of gray(8bit). + can show 255 values of gray (8bit). .ppm can show 8bit rgb values. diff --git a/general_concepts/file_formats/file_psd.rst b/general_concepts/file_formats/file_psd.rst index aa46ef2f0..2dff505bf 100644 --- a/general_concepts/file_formats/file_psd.rst +++ b/general_concepts/file_formats/file_psd.rst @@ -1,27 +1,27 @@ .. meta:: :description: The Photoshop file format as exported by Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: *.psd, PSD, Photoshop Document .. _file_psd: ====== \*.psd ====== .psd is Photoshop's internal file format. For some reason, people like to use it as an interchange format, even though it is not designed for this. -.psd, unlike actual interchange formats like :ref:`file_pdf`, :ref:`file_tif`, :ref:`file_exr`, :ref:`file_ora` and :ref:`file_svg` doesn't have an official spec online. Which means that it needs to be reverse engineered. Furthermore, as an internal file format, it doesn't have much of a philosophy to it's structure, as it's only purpose is to save what photoshop is busy with, or rather, what all the past versions of photoshop have been busy with. This means that the inside of a psd looks somewhat like photoshop's virtual brains, and psd is in general a very disliked file-format. +.psd, unlike actual interchange formats like :ref:`file_pdf`, :ref:`file_tif`, :ref:`file_exr`, :ref:`file_ora` and :ref:`file_svg` doesn't have an official spec online. Which means that it needs to be reverse engineered. Furthermore, as an internal file format, it doesn't have much of a philosophy to its structure, as it's only purpose is to save what photoshop is busy with, or rather, what all the past versions of photoshop have been busy with. This means that the inside of a psd looks somewhat like photoshop's virtual brains, and psd is in general a very disliked file-format. Due to .psd being used as an interchange format, this leads to confusion amongst people using these programs, as to why not all programs support opening these. Sometimes, you might even see users saying that a certain program is terrible because it doesn't support opening psds properly. But as psd is an internal file-format without online specs, it is impossible to have any program outside it support it 100%. Krita supports loading and saving raster layers, blending modes, layerstyles, layer groups, and transparency masks from psd. It will likely never support vector and text layers, as these are just too difficult to program properly. We recommend using any other file format instead of psd if possible, with a strong preference towards :ref:`file_ora` or :ref:`file_tif`. As a working file format, psds can be expected to become very heavy and most websites won't accept them. diff --git a/general_concepts/file_formats/file_svg.rst b/general_concepts/file_formats/file_svg.rst index 7cf7a73f2..63c376d73 100644 --- a/general_concepts/file_formats/file_svg.rst +++ b/general_concepts/file_formats/file_svg.rst @@ -1,25 +1,25 @@ .. meta:: :description: The Scalable Vector Graphics file format in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: SVG, *.svg, Scalable Vector Graphics Format .. _file_svg: ====== \*.svg ====== .svg, or Scalable Vector Graphics, is the most modern vector graphics interchange file format out there. Being vector graphics, svg is very light weight. This is because it usually only stores coordinates and parameters for the maths involved with vector graphics. It is maintained by the w3c svg working group, who also maintain other open standards that make up our modern internet. -While you can open up svg files with any text-editor to edit them, it is best to use a vector program like Inkscape. Krita 2.9 to 3.3 supports importing svg via the add shape docker. Since Krita 4.0, SVGs can be properly imported, and you can export singlevector layers via :menuselection:`Layer --> Import/Export --> Save Vector Layer as SVG...`. For 4.0, Krita will also use SVG to save vector data into it's :ref:`internal format `. +While you can open up svg files with any text-editor to edit them, it is best to use a vector program like Inkscape. Krita 2.9 to 3.3 supports importing svg via the add shape docker. Since Krita 4.0, SVGs can be properly imported, and you can export singlevector layers via :menuselection:`Layer --> Import/Export --> Save Vector Layer as SVG...`. For 4.0, Krita will also use SVG to save vector data into its :ref:`internal format `. svg is designed for the internet, though sadly, because vector graphics are considered a bit obscure compared to raster graphics, not a lot of websites accept them yet. Hosting them on your own webhost works just fine though. diff --git a/general_concepts/file_formats/lossy_lossless.rst b/general_concepts/file_formats/lossy_lossless.rst index 5e326774f..356e629ce 100644 --- a/general_concepts/file_formats/lossy_lossless.rst +++ b/general_concepts/file_formats/lossy_lossless.rst @@ -1,38 +1,38 @@ .. meta:: :description: The difference between lossy and lossless compression. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: lossy, lossless, compression .. _lossy_compression: .. _lossless_compression: ==================================== Lossy and Lossless Image Compression ==================================== -When we compress a file, we do this because we want to temporarily make it smaller(like for sending over email), or we want to permanently make it smaller(like for showing images on the internet). +When we compress a file, we do this because we want to temporarily make it smaller (like for sending over email), or we want to permanently make it smaller (like for showing images on the internet). *Lossless* compression techniques are for when we want to *temporarily* reduce information. As the name implies, they compress without losing information. In text, the use of abbreviations is a good example of a lossless compression technique. Everyone knows 'etc.' expands to 'etcetera', meaning that you can half the 8 character long 'etcetera' to the four character long 'etc.'. Within image formats, examples of such compression is by for example 'indexed' color, where we make a list of available colors in an image, and then assign a single number to them. Then, when describing the pixels, we only write down said number, so that we don't need to write the color definition over and over. *Lossy* compression techniques are for when we want to *permanently* reduce the file size of an image. This is necessary for final products where having a small filesize is preferable such as a website. That the image will not be edited anymore after this allows for the use of the context of a pixel to be taken into account when compressing, meaning that we can rely on psychological and statistical tricks. -One of the primary things JPEG for example does is chroma sub-sampling, that is, to split up the image into a greyscale and two color versions(one containing all red-green contrast and the other containing all blue-yellow contrast), and then it makes the latter two versions smaller. This works because humans are much more sensitive to differences in lightness than we are to differences in hue and saturation. +One of the primary things JPEG for example does is chroma sub-sampling, that is, to split up the image into a greyscale and two color versions (one containing all red-green contrast and the other containing all blue-yellow contrast), and then it makes the latter two versions smaller. This works because humans are much more sensitive to differences in lightness than we are to differences in hue and saturation. Another thing it does is to use cosine waves to describe contrasts in an image. What this means is that JPEG and other lossy formats using this are *very good at describing gradients, but not very good at describing sharp contrasts*. Conversely, lossless image compression techniques are *really good at describing images with few colors thus sharp contrasts, but are not good to compress images with a lot of gradients*. Another big difference between lossy and lossless images is that lossy fileformats will degrade if you re-encode them, that is, if you load a jpeg into Krita edit a little, resave, edit a little, resave, each subsequent save will lose some data. This is a fundamental part of lossy image compression, and the primary reason we use working files. .. seealso:: If you're interested in different compression techniques, `Wikipedia's page(s) on image compression `_ are very good, if not a little technical. diff --git a/general_concepts/projection/axonometric.rst b/general_concepts/projection/axonometric.rst index 3545cb87a..73eeb91e0 100644 --- a/general_concepts/projection/axonometric.rst +++ b/general_concepts/projection/axonometric.rst @@ -1,164 +1,164 @@ .. meta:: :description: Axonometric projection. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. This is a continuation of :ref:`the orthographic and oblique tutorial `, be sure to check it out if you get confused! .. index:: Projection, Axonometric, Dimetric, Isometric .. _projection_axonometric: Axonometric =========== So, the logic of adding the top is still similar to that of the side. .. image:: /images/en/category_projection/projection-cube_07.svg :align: center Not very interesting. But it gets much more interesting when we use a side projection: .. image:: /images/en/category_projection/projection-cube_08.svg :align: center Because our cube is red on both front-sides, and blue on both left and right side, we can just use copies, this simplifies the method for cubes a lot. We call this form of axonometric projection 'dimetric' as it deforms two parallel lines equally. Isometric is sorta like dimetric where we have the same angle between all main lines: .. image:: /images/en/category_projection/projection-cube_09.svg :align: center True isometric is done with a 90-54.736=35.264° angle from ground plane: .. image:: /images/en/category_projection/projection-cube_10.svg :align: center (as you can see, it doesn't line up perfectly, because Inkscape, while more designed for making these kinds of diagrams than Krita, doesn't have tools to manipulate the line's angle in degrees) This is a bit of an awkward angle, and on top of that, it doesn't line up with pixels sensibly, so for videogames an angle of 30° from the ground plane is used. .. image:: /images/en/category_projection/projection-cube_11.svg :align: center Alright, so, let's make an isometric out of our boy then. We make a new document, and add a vector layer. On the vector layer, we select the straight line tool, start a line and then hold 'shift' to make it snap to angles. This'll allow us to make a 30° setup like above: .. image:: /images/en/category_projection/projection_image_15.png :align: center We then import some of the frames from the animation via layers --> import/export --> import layer. Then crop it by setting the crop tool to 'layer', and use :menuselection:`filters --> colors --> color to alpha` to remove any background. I also set the layers to 50% opacity. We then align the vectors to them: .. image:: /images/en/category_projection/projection_image_16.png :align: center -(Tip, to resize a vector but keep its angle, you just select it with the shape handling tool(the white arrow) drag on the corners of the bounding box to start moving them, and then press :kbd:`shift` to constrain the ratio. This'll allow you to keep the angle) +(Tip, to resize a vector but keep its angle, you just select it with the shape handling tool (the white arrow) drag on the corners of the bounding box to start moving them, and then press :kbd:`Shift` to constrain the ratio. This'll allow you to keep the angle) The lower image is 'the back seen from the front', we'll be using this to determine where the ear should go. Now, we obviously have too little space, so select the crop tool, select 'image' and tick 'grow' and do the following: .. image:: /images/en/category_projection/projection_image_17.png :align: center Grow is a more practical way of resizing the canvas in width and height immediately. Then we align the other heads and transform them by using the transform tool options: .. image:: /images/en/category_projection/projection_image_18.png :align: center (330° here is 360°-30°) Our rectangle we'll be working in slowly becomes visible. Now, this is a bit of a difficult angle to work at, so we go to :menuselection:`image --> rotate --> custom rotation` and fill in 30° clockwise: .. image:: /images/en/category_projection/projection_image_19.png :align: center .. image:: /images/en/category_projection/projection_image_20.png :align: center (of course, we could've just rotated the left two images 30°, this is mostly to be less confusing compared to the cube) So, we do some cropping, some cleanup and add two parallel assistants like we did with the orthographic: .. image:: /images/en/category_projection/projection_image_21.png :align: center So the idea here is that you draw parallel lines from both sides to find points in the drawing area. You can use the previews of the assistants for this to keep things clean, but I drew the lines anyway for your convenience. .. image:: /images/en/category_projection/projection_image_22.png :align: center The best is to make a few sampling points, like with the eyebrows here, and then draw the eyebrow over it. .. image:: /images/en/category_projection/projection_image_23.png :align: center Alternative axonometric with the transform tool ----------------------------------------------- Now, there's an alternative way of getting there that doesn't require as much space. We open our orthographic with 'open existing document as untitled document' so that we don't save over it. -Our game-safe isometric has its angle at two pixels horizontal is one pixel vertical. So, we shear the ortho graphics with transform masks to -.5/+.5 pixels(this is proportional) +Our game-safe isometric has its angle at two pixels horizontal is one pixel vertical. So, we shear the ortho graphics with transform masks to -.5/+.5 pixels (this is proportional) .. image:: /images/en/category_projection/projection_image_24.png :align: center -Use the grid to setup two parallel rulers that represent both diagonals(you can snap them with the :kbd:`Shift + S`): +Use the grid to setup two parallel rulers that represent both diagonals (you can snap them with the :kbd:`Shift + S`): .. image:: /images/en/category_projection/projection_image_25.png :align: center Add the top view as well: .. image:: /images/en/category_projection/projection_image_26.png :align: center if you do this for all slices, you get something like this: .. image:: /images/en/category_projection/projection_image_27.png :align: center Using the parallel rulers, you can then figure out the position of a point in 3d-ish space: .. image:: /images/en/category_projection/projection_image_28.png :align: center As you can see, this version both looks more 3d as well as more creepy. That's because there are less steps involved as the previous version -- We're deriving our image directly from the orthographic view -- so there are less errors involved. The creepiness is because we've had the tiniest bit of stylisation in our sideview, so the eyes come out HUGE. This is because when we stylise the side view of an eye, we tend to draw it not perfectly from the side, but rather slightly at an angle. If you look carefully at the turntable, the same problem crops up there as well. Generally, stylised stuff tends to fall apart in 3d view, and you might need to make some choices on how to make it work. -For example, we can just easily fix the side view(because we used transform masks, this is easy.) +For example, we can just easily fix the side view (because we used transform masks, this is easy.) .. image:: /images/en/category_projection/projection_image_29.png :align: center And then generate a new drawing from that… .. image:: /images/en/category_projection/projection_animation_02.gif :align: center Compare to the old one and you should be able to see that the new result’s eyes are much less creepy: .. image:: /images/en/category_projection/projection_image_30.png :align: center It still feels very squashed compared to the regular parallel projection above, and it might be an idea to not just skew but also stretch the orthos a bit. Let's continue with perspective projection in the next one! diff --git a/general_concepts/projection/orthographic_oblique.rst b/general_concepts/projection/orthographic_oblique.rst index a7ccf16e4..7bbfe7dd1 100644 --- a/general_concepts/projection/orthographic_oblique.rst +++ b/general_concepts/projection/orthographic_oblique.rst @@ -1,152 +1,152 @@ .. meta:: :description: Orthographics and oblique projection. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. So let's start with the basics... .. index:: Projection, Orthographic .. _projection_orthographic: Orthographic ============ Despite the fancy name, you probably know what orthographic is. It is a schematic representation of an object, draw undeformed. Like the following example: .. image:: /images/en/category_projection/projection-cube_01.svg :align: center This is a rectangle. We have a front, top and side view. Put into perspective it should look somewhat like this: .. image:: /images/en/category_projection/projection-cube_02.svg :align: center While orthographic representations are kinda boring, they're also a good basis to start with when you find yourself in trouble with a pose. But we'll get to that in a bit. .. _projection_oblique: Oblique ======= So, if we can say that the front view is the viewer looking at the front, and the side view is the viewer directly looking at the side. (The perpendicular line being the view plane it is projected on) .. image:: /images/en/category_projection/projection-cube_03.svg :align: center Then we can get a half-way view from looking from an angle, no? .. image:: /images/en/category_projection/projection-cube_04.svg :align: center If we do that for a lot of different sides… .. image:: /images/en/category_projection/projection-cube_05.svg :align: center And we line up the sides we get a… .. image:: /images/en/category_projection/projection-cube_06.svg :align: center But cubes are boring. I am suspecting that projection is so ignored because no tutorial applies it to an object where you actually might NEED projection. Like a face. First, let's prepare our front and side views: .. image:: /images/en/category_projection/projection_image_01.png :align: center I always start with the side, and then extrapolate the front view from it. Because you are using Krita, set up two parallel rulers, one vertical and the other horizontal. To snap them perfectly, drag one of the nodes after you have made the ruler, and press :kbd:`Shift` to snap it horizontal or vertical. In 3.0, you can also snap them to the image borders if you have :menuselection:`snap to image borders` active via :kbd:`Shift` + :kbd:`S` -Then, by moving the mirror to the left, you can design a front-view from the sideview, while the parallel preview line helps you with aligning the eyes(which in the above screenshot are too low). +Then, by moving the mirror to the left, you can design a front-view from the sideview, while the parallel preview line helps you with aligning the eyes (which in the above screenshot are too low). Eventually, you should have something like this: .. image:: /images/en/category_projection/projection_image_02.png :align: center And of course, let us not forget the top, it's pretty important: .. image:: /images/en/category_projection/projection_image_03.png :align: center Tip: When you are using Krita, you can just use transform masks to rotate the side view for drawing the top-view. The top view works as a method for debugging your orthos as well. If we take the red line to figure out the orthographics from, we see that our eyes are obviously too inset. Let's move them a bit more forward, to around the nose. .. image:: /images/en/category_projection/projection_image_04.png :align: center If you want to do precision position moving in the tool options docker, just select 'position' and the input box for the X. Pressing down then moves the transformed selection left. With Krita 3.0 you can just use the move tool for this and the arrow keys. Using transform here can be more convenient if you also have to squash and stretch an eye. .. image:: /images/en/category_projection/projection_image_05.png :align: center We fix the top view now. Much better. For faces, the multiple slices are actually pretty important. So important even, that I have decided we should have these slices on separate layers. Thankfully, I chose to colour them, so all we need to do is go to :menuselection:`layers --> split layer` . .. image:: /images/en/category_projection/projection_image_06.png :align: center This'll give you a few awkwardly named layers… rename them by selecting all and mass changing the name in the properties editor: .. image:: /images/en/category_projection/projection_image_07.png :align: center So, after some cleanup, we should have the following: .. image:: /images/en/category_projection/projection_image_08.png :align: center Okay, now we're gonna use animation for the next bit. Set it up as follows: .. image:: /images/en/category_projection/projection_image_09.png :align: center * Both frontview and sideview are set up as 'visible in timeline' so we can always see them. * Frontview has its visible frame on frame 0 and an empty-frame on frame 23. * Side view has its visible frame on frame 23 and an empty view on frame 0. * The end of the animation is set to 23. .. image:: /images/en/category_projection/projection_image_10.png :align: center Krita can't animate a transformation on multiple layers on multiple frames yet, so let's just only transform the top layer. Add a semi-transparent layer where we draw the guide-lines. -Now, select frame 11(halfway), add new frames from frontview, sideview and the guide-lines. And turn on the onion skin by toggling the lamp symbols. We copy the frame for the top-view and use the transform tool to rotate it 45°. +Now, select frame 11 (halfway), add new frames from frontview, sideview and the guide-lines. And turn on the onion skin by toggling the lamp symbols. We copy the frame for the top-view and use the transform tool to rotate it 45°. .. image:: /images/en/category_projection/projection_image_11.png :align: center So, we draw our vertical guides again and determine a in-between... .. image:: /images/en/category_projection/projection_image_12.png :align: center This is about how far you can get with only the main slice, so rotate the rest as well. .. image:: /images/en/category_projection/projection_image_13.png :align: center And just like with the cube, we do this for all slices… .. image:: /images/en/category_projection/projection_image_14.png :align: center Eventually, if you have the top slices rotate every frame with 15°, you should be able to make a turn table, like this: .. image:: /images/en/category_projection/projection_animation_01.gif :align: center (Because our boy here is fully symmetrical, you can just animate one side and flip the frames for the other half) (While it is not necessary to follow all the steps in the theory section to understand the tutorial, I do recommend making a turn table sometime. It teaches you a lot about drawing 3/4th faces. How about… we introduce the top view into the drawing itself? diff --git a/general_concepts/projection/perspective.rst b/general_concepts/projection/perspective.rst index f26fbe5a9..e5559a789 100644 --- a/general_concepts/projection/perspective.rst +++ b/general_concepts/projection/perspective.rst @@ -1,99 +1,99 @@ .. meta:: :description: Perspective projection. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. This is a continuation of the :ref:`axonometric tutorial `, be sure to check it out if you get confused! .. index:: Projection, Perspective, Perspective Projection .. _projection_perspective: Perspective Projection: ----------------------- So, up till now we’ve done only parallel projection. This is called like that because all the projection lines we drew were parallel ones. However, in real life we don’t have parallel projection. This is due to the lens in our eyes. .. image:: /images/en/category_projection/Projection_Lens1_from_wikipedia.svg :align: center Convex lenses, as this lovely image from `wikipedia `_ shows us, have the ability to turn parallel lightrays into converging ones. The point where all the rays come together is called the focal point, and the vanishing point in a 2d drawing is related to it as it’s the expression of the maximum distortion that can be given to two parallel lines as they’re skewed toward the focal point. As you can see from the image, the focal point is not an end-point of the rays. Rather, it is where the rays cross before diverging again… The only difference is that the resulting image will be inverted. Even in our eyes this inversion happens, but our brains are used to this awkwardness since childhood and turn it around automatically. Let’s see if we can perspectively project our box now. .. image:: /images/en/category_projection/projection-cube_12.svg :align: center -That went pretty well. As you can see we sorta ‘merged’ the two sides into one(resulting into the purple side square) so we had an easier time projecting. The projection is limited to one or two vanishing point type projection, so only the horizontal lines get distorted. We can also distort the vertical lines +That went pretty well. As you can see we sorta ‘merged’ the two sides into one (resulting into the purple side square) so we had an easier time projecting. The projection is limited to one or two vanishing point type projection, so only the horizontal lines get distorted. We can also distort the vertical lines .. image:: /images/en/category_projection/projection-cube_13.svg :align: center … to get three-point projection, but this is a bit much.(And I totally made a mistake in there…) Let’s setup our perspective projection again… .. image:: /images/en/category_projection/projection_image_31.png :align: center We’ll be using a single vanishing point for our focal point. A guide line will be there for the projection plane, and we’re setting up horizontal and vertical parallel rules to easily draw the straight lines from the view plane to where they intersect. And now the workflow in gif-format…(don’t forget you can rotate the canvas with 4 and 6) .. image:: /images/en/category_projection/projection_animation_03.gif :align: center Result: .. image:: /images/en/category_projection/projection_image_32.png :align: center Looks pretty haughty, doesn’t he? And again, there’s technically a simpler setup here… Did you know you can use Krita to rotate in 3d? No? .. image:: /images/en/category_projection/projection_image_33.png :align: center Well, now you do. The ortho graphics are being set to 45 and 135 degrees respectively. We draw horizontal lines on the originals, so that we can align vanishing point rulers to them. .. image:: /images/en/category_projection/projection_image_34.png :align: center And from this, like with the shearing method, we start drawing.(don’t forget the top-views!) Which should get you something like this: .. image:: /images/en/category_projection/projection_image_35.png :align: center But again, the regular method is actually a bit easier... But now you might be thinking: gee, this is a lot of work… Can’t we make it easier with the computer somehow? Uhm, yes, that’s more or less why people spent time on developing 3d graphics technology: .. image:: /images/en/category_projection/projection_image_36.png :align: center .. image:: /images/en/category_projection/projection_image_37.png :align: center (above sculpted in blender using our orthographic reference) So let us look at what this technique can be practically used for in the next part... diff --git a/reference_manual/blending_modes.rst b/reference_manual/blending_modes.rst index 0b9d51d8a..7b6c48637 100644 --- a/reference_manual/blending_modes.rst +++ b/reference_manual/blending_modes.rst @@ -1,89 +1,89 @@ .. meta:: :description lang=en: Overview of Krita's blending modes. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Blending Modes! .. _blending_modes: ============== Blending Modes ============== Blending modes are a little difficult to explain. Basically, when one layer is above the other, the computer uses a bit of programming to decide how the combination of both layers will look. Blending modes can not just apply to Layers, but also to individual strokes. Favorites --------- These are the blending modes that have been ticked as favorites, defaulting these are: * :ref:`bm_addition` * :ref:`bm_color_burn` * :ref:`bm_color` * :ref:`bm_color_dodge` * :ref:`bm_darken` * :ref:`bm_erase` * :ref:`bm_lighten` * :ref:`bm_luminosity` * :ref:`bm_multiply` * :ref:`bm_normal` * :ref:`bm_overlay` * :ref:`bm_saturation` Hotkeys associated with Blending modes -------------------------------------- Defaultly the following hotkeys are associated with blending modes. -You first need to use modifiers :kbd:`alt + shift`, then use the following hotkey to have the associated blending mode: +You first need to use modifiers :kbd:`Alt + Shift`, then use the following hotkey to have the associated blending mode: * :kbd:`A` :ref:`bm_linear_burn` * :kbd:`B` :ref:`bm_color_burn` * :kbd:`C` :ref:`bm_color` * :kbd:`D` :ref:`bm_color_dodge` * :kbd:`E` :ref:`bm_difference` * :kbd:`F` :ref:`bm_soft_light` * :kbd:`I` :ref:`bm_dissolve` * :kbd:`J` :ref:`bm_linear_light` * :kbd:`K` :ref:`bm_darken` * :kbd:`L` :ref:`bm_hard_mix` * :kbd:`M` :ref:`bm_multiply` * :kbd:`O` :ref:`bm_overlay` * :kbd:`Q` :ref:`bm_behind` * :kbd:`R` :ref:`bm_normal` * :kbd:`S` :ref:`bm_screen` * :kbd:`T` :ref:`bm_saturation` * :kbd:`U` :ref:`bm_hue` * :kbd:`V` :ref:`bm_vivid_light` * :kbd:`W` :ref:`bm_exclusion` * :kbd:`X` :ref:`bm_linear_dodge` * :kbd:`Y` :ref:`bm_luminosity` * :kbd:`Z` :ref:`bm_pin_light` * Next Blending Mode :kbd:`+` * Previous Blending Mode :kbd:`-` Available Blending Modes ------------------------ .. toctree:: :maxdepth: 2 :glob: blending_modes/* .. seealso:: Basic blending modes: http://en.wikipedia.org/wiki/Blend_modes Grain Extract/Grain Merge: http://docs.gimp.org/en/gimp-concepts-layer-modes.html For most of Krita's mystery blendingmodes: http://illusions.hu/effectwiki/doku.php?id=list_of_blendings diff --git a/reference_manual/blending_modes/hsx.rst b/reference_manual/blending_modes/hsx.rst index 4aa73f08e..03e4adff6 100644 --- a/reference_manual/blending_modes/hsx.rst +++ b/reference_manual/blending_modes/hsx.rst @@ -1,370 +1,370 @@ .. meta:: :description: Page about the HSX blending modes in Krita, amongst which Hue, Color, Luminosity and Saturation. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Maria Luisac :license: GNU free documentation license 1.3 or later. .. index:: Hue, Saturation, Lightness, Luma, Luminosity, Intensity, Value, Brightness .. _bm_cat_hsx: HSX --- Krita has four different HSX coordinate systems. The difference between them is how they handle tone. HSI ~~~ HSI is a color coordinate system, using Hue, Saturation and Intensity to catagorise a color. Hue is roughly the wavelength, whether the colour is red, yellow, green, cyan, blue or purple. It is measure in 360°, with 0 being red. Saturation is the measurement of how close a color is to grey. -Intensity, in this case is the tone of the color. What makes intensity special is that it recognises Yellow(rgb:1,1,0) having a higher combined rgb value than blue(rgb:0,0,1). This is a non-linear tone dimension, which means it's gamma-corrected. +Intensity, in this case is the tone of the color. What makes intensity special is that it recognises yellow (rgb:1,1,0) having a higher combined rgb value than blue (rgb:0,0,1). This is a non-linear tone dimension, which means it's gamma-corrected. HSL ~~~ HSL is also a color coordinate system. It describes colors in Hue, Saturation and Lightness. -Lightness specifically puts both yellow(rgb:1,1,0), blue(rgb:0,0,1) and middle grey(rgb:0.5,0.5,0.5) at the same lightness(0.5). +Lightness specifically puts both yellow (rgb:1,1,0), blue (rgb:0,0,1) and middle grey (rgb:0.5,0.5,0.5) at the same lightness (0.5). HSV ~~~ -HSV, occasionally called HSB, is a color coordinate system. It measures colors in Hue, Saturation, and Value(also called Brightness). -Value or Brightness specifically refers to strength at which the pixel-lights on your monitor have to shine. It sets Yellow(rgb:1,1,0), Blue(rgb:0,0,1) and White(rgb:1,1,0) at the same Value(100%) +HSV, occasionally called HSB, is a color coordinate system. It measures colors in Hue, Saturation, and Value (also called Brightness). +Value or Brightness specifically refers to strength at which the pixel-lights on your monitor have to shine. It sets Yellow (rgb:1,1,0), Blue (rgb:0,0,1) and White (rgb:1,1,0) at the same Value (100%) HSY ~~~ HSY is a color coordinate system. It catagorises colors in Hue, Saturation and Luminosity. Well, not really, it uses Luma instead of true luminosity, the difference being that Luminosity is linear while Luma is gamma-corrected and just weights the rgb components. -Luma is based on scientific studies of how much light a color reflects in real-life. While like intensity it acknowledges that Yellow(rgb:1,1,0) is lighter than blue(rgb:0,0,1), it also acknowledges that Yellow(rgb:1,1,0) is lighter than Cyan(rgb(0,1,1), based on these studies. +Luma is based on scientific studies of how much light a color reflects in real-life. While like intensity it acknowledges that yellow (rgb:1,1,0) is lighter than blue (rgb:0,0,1), it also acknowledges that yellow (rgb:1,1,0) is lighter than cyan (rgb:0,1,1), based on these studies. HSX Blending Modes ~~~~~~~~~~~~~~~~~~ .. _bm_color: .. _bm_hsv_color: .. _bm_hsl_color: .. _bm_hsi_color: .. _bm_hsy_color: Color, HSV, HSI, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^ This takes the Luminosity/Value/Intensity/Lightness of the colours on the lower layer, and combines them with the Saturation and Hue of the upper pixels. We refer to Color HSY as 'Color' in line with other applications. .. figure:: /images/blending_modes/Blending_modes_Color_HSI_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Color HSI**. .. figure:: /images/blending_modes/Blending_modes_Color_HSI_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Color HSI**. .. figure:: /images/blending_modes/Blending_modes_Color_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color HSI**. .. figure:: /images/blending_modes/Blending_modes_Color_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color HSL**. .. figure:: /images/blending_modes/Blending_modes_Color_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color HSV**. .. figure:: /images/blending_modes/Blending_modes_Color_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color**. .. _bm_hue: .. _bm_hsv_hue: .. _bm_hsl_hue: .. _bm_hsi_hue: .. _bm_hsy_hue: Hue HSV, HSI, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^ Takes the saturation and tone of the lower layer and combines them with the hue of the upper-layer. Tone in this case being either Value, Lightness, Intensity or Luminosity. .. figure:: /images/blending_modes/Blending_modes_Hue_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue HSI**. .. figure:: /images/blending_modes/Blending_modes_Hue_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue HSL**. .. figure:: /images/blending_modes/Blending_modes_Hue_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue HSV**. .. figure:: /images/blending_modes/Blending_modes_Hue_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue**. .. _bm_increase_value: .. _bm_increase_lightness: .. _bm_increase_intensity: .. _bm_increase_luminosity: Increase Value, Lightness, Intensity or Luminosity. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to lighten, but specific to tone. Checks whether the upper layer's pixel has a higher tone than the lower layer's pixel. If so, the intensity is increased, if not, the lower layer's tone is maintained. .. figure:: /images/blending_modes/Blending_modes_Increase_Intensity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Intensity**. .. figure:: /images/blending_modes/Blending_modes_Increase_Lightness_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Lightness**. .. figure:: /images/blending_modes/Blending_modes_Increase_Value_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Value**. .. figure:: /images/blending_modes/Blending_modes_Increase_Luminosity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Luminosity**. .. _bm_increase_saturation: .. _bm_increase_hsv_saturation: .. _bm_increase_hsl_saturation: .. _bm_increase_hsi_saturation: .. _bm_increase_hsy_saturation: Increase Saturation HSI, HSV, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to lighten, but specific to Saturation. Checks whether the upper layer's pixel has a higher Saturation than the lower layer's pixel. If so, the Saturation is increased, if not, the lower layer's Saturation is maintained. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation HSL**. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation HSV**. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation**. .. _bm_intensity: Intensity ^^^^^^^^^ Takes the Hue and Saturation of the Lower layer and outputs them with the intensity of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Intensity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Intensity**. .. _bm_value: Value ^^^^^ Takes the Hue and Saturation of the Lower layer and outputs them with the Value of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Value_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Value**. .. _bm_lightness: Lightness ^^^^^^^^^ Takes the Hue and Saturation of the Lower layer and outputs them with the Lightness of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Lightness_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Lightness**. .. _bm_luminosity: Luminosity ^^^^^^^^^^ As explained above, actually Luma, but called this way as it's in line with the terminology in other applications. Takes the Hue and Saturation of the Lower layer and outputs them with the Luminosity of the upper layer. The most preferred one of the four Tone blending modes, as this one gives fairly intuitive results for the Tone of a hue .. figure:: /images/blending_modes/Blending_modes_Luminosity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Luminosity**. .. _bm_saturation: .. _bm_hsv_saturation: .. _bm_hsl_saturation: .. _bm_hsi_saturation: .. _bm_hsy_saturation: Saturation HSI, HSV, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Takes the Intensity and Hue of the lower layer, and outputs them with the HSI saturation of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Saturation_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Saturation_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation HSL**. .. figure:: /images/blending_modes/Blending_modes_Saturation_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation HSV**. .. figure:: /images/blending_modes/Blending_modes_Saturation_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation**. .. _bm_decrease_value: .. _bm_decrease_lightness: .. _bm_decrease_intensity: .. _bm_decrease_luminosity: Decrease Value, Lightness, Intensity or Luminosity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to darken, but specific to tone. Checks whether the upper layer's pixel has a lower tone than the lower layer's pixel. If so, the tone is decreased, if not, the lower layer's tone is maintained. .. figure:: /images/blending_modes/Blending_modes_Decrease_Intensity_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Decrease Intensity**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Intensity_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Decrease Intensity**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Intensity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Intensity**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Lightness_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Lightness**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Value_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Value**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Luminosity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Luminosity**. .. _bm_decrease_saturation: .. _bm_decrease_hsv_saturation: .. _bm_decrease_hsl_saturation: .. _bm_decrease_hsi_saturation: .. _bm_decrease_hsy_saturation: Decrease Saturation HSI, HSV, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to darken, but specific to Saturation. Checks whether the upper layer's pixel has a lower Saturation than the lower layer's pixel. If so, the Saturation is decreased, if not, the lower layer's Saturation is maintained. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSI_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Decrease Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSI_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Decrease Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation HSL**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation HSV**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation**. diff --git a/reference_manual/blending_modes/lighten.rst b/reference_manual/blending_modes/lighten.rst index 5a12edaf6..38d3a16b9 100644 --- a/reference_manual/blending_modes/lighten.rst +++ b/reference_manual/blending_modes/lighten.rst @@ -1,212 +1,212 @@ .. meta:: :description: Page about the lighten blending modes in Krita: Color Dodge, Gamma Light, Hard Light, Lighten, Lighter Color, Linear Dodge, Linear Light, Pin Light, Screen, Soft Light and Vivid Light. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Maria Luisac :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/Blending_modes_Color_Dodge_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color Dodge**. .. index:: ! Gamma Light .. _bm_gamma_light: Gamma Light ~~~~~~~~~~~ Outputs the upper layer as power of the lower layer. .. figure:: /images/blending_modes/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 colour 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/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/Blending_modes_Lighten_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Lighten**. .. _bm_lighter_color: Lighter Color ~~~~~~~~~~~~~ .. figure:: /images/blending_modes/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/Blending_modes_Linear_Dodge_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Linear Dodge** (exactly the same as Addition). .. _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/Blending_modes_Linear_Light_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Linear Light**. .. figure:: /images/blending_modes/Blending_modes_Linear_Light_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Linear Light**. .. figure:: /images/blending_modes/Blending_modes_Linear_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Linear Light**. .. _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/Blending_modes_Pin_Light_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Pin Light**. .. figure:: /images/blending_modes/Blending_modes_Pin_Light_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Pin Light**. .. figure:: /images/blending_modes/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/Blending_modes_Screen_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Screen**. .. figure:: /images/blending_modes/Blending_modes_Screen_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Screen**. .. figure:: /images/blending_modes/Blending_modes_Screen_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Screen**. .. _bm_soft_light: -Soft Light(Photoshop) & Soft Light SVG -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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/Blending_modes_Soft_Light_Photoshop_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Soft Light (Photoshop)**. .. figure:: /images/blending_modes/Blending_modes_Soft_Light_SVG_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Soft Light (SVG)**. .. _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/Blending_modes_Vivid_Light_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Vivid Light**. diff --git a/reference_manual/brushes/brush_engines/clone_engine.rst b/reference_manual/brushes/brush_engines/clone_engine.rst index 4fac3cadd..107e00767 100644 --- a/reference_manual/brushes/brush_engines/clone_engine.rst +++ b/reference_manual/brushes/brush_engines/clone_engine.rst @@ -1,65 +1,65 @@ .. meta:: :description: The Clone Brush Engine manual page. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Brush Engine, Clone Tool, Clone Brush Engine .. _clone_brush_engine: ================== Clone Brush Engine ================== .. meta:: :description lang=en: The Clone Brush Engine manual page. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. image:: /images/icons/clonebrush.svg The clone brush is a brush engine that allows you to paint with a duplication of a section of a paint-layer. This is useful in manipulation of photos and textures. You have to select a source and then you can paint to copy or clone the source to a different area. Other applications normally have a separate tool for this, Krita has a brush engine for this. Usage and Hotkeys ----------------- To see the source, you need to set the brush-cursor settings to brush outline. -The clone tool can now clone from the projection and it's possible to change the clone source layer. Press :kbd:`ctrl + alt +` |mouseleft| to select a new clone source on the current layer. :kbd:`ctrl +` |mouseleft| to select a new clone source point on the layer that was active when you selected the clone op. +The clone tool can now clone from the projection and it's possible to change the clone source layer. Press :kbd:`Ctrl + Alt +` |mouseleft| to select a new clone source on the current layer. :kbd:`Ctrl +` |mouseleft| to select a new clone source point on the layer that was active when you selected the clone op. .. warning:: - :kbd:`ctrl + alt +` |mouseleft| is temporarily disabled on 2.9.7 + :kbd:`Ctrl + Alt +` |mouseleft| is temporarily disabled on 2.9.7 Settings -------- * :ref:`option_size` * :ref:`blending_modes` * :ref:`option_opacity_n_flow` Painting mode ~~~~~~~~~~~~~ Healing This turns the clone brush into a healing brush: often used for removing blemishes in photo retouching, and maybe blemishes in painting. Perspective correction Only works when there's a perspective grid visible. .. warning:: This feature is currently disabled Source Point move. This will determine whether you will replicate the source point per dab or per stroke. Can be useful when used with the healing brush. Clone from all visible layers. Tick this to force cloning of all layers instead of just the active one. diff --git a/reference_manual/brushes/brush_engines/color_smudge_engine.rst b/reference_manual/brushes/brush_engines/color_smudge_engine.rst index a3bc7df53..42300eab3 100644 --- a/reference_manual/brushes/brush_engines/color_smudge_engine.rst +++ b/reference_manual/brushes/brush_engines/color_smudge_engine.rst @@ -1,355 +1,355 @@ .. 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/en/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: .. image:: /images/en/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/en/Krita_2.9_brushengine_smudge_length_01.png Strength Affects how much the smudge length takes from the previous dab it's 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/en/Krita_2.9_brushengine_smudge_length_02.png .. _option_smudge_radius: Smudge Radius ~~~~~~~~~~~~~ The Smudge Radius allows you to sample a larger radius when using smudge-length in Dulling mode. The slider is percentage of the brush-size. You can have it modified with Sensors. .. image:: /images/en/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. +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 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/en/Krita-tutorial5-I.1.png Smudge Length ^^^^^^^^^^^^^ To better demonstrate the smudge function, I turned the color rate function off. .. image:: /images/en/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/en/Krita-tutorial5-I.3.png Again, most of the settings behaviors should be obvious from the pictures. Just remember to keep Opacity over 0.50. Brush tips ^^^^^^^^^^ The Color Smudge Brush has all the same brush tip options as the Pixel Brush! .. image:: /images/en/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/en/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 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/en/Krita-tutorial5-I.5-2.png Other color behaviors: Gradient, Blending modes, Overlay mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Gradient """""""" Gradient is equivalent to the Source -> Gradient and Color -> Mix for the Pixel brush: the color will vary between the colors of the gradient. .. image:: /images/en/Krita-tutorial5-I.6-1.png You can either: * Leave the default 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 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/en/Krita-tutorial5-II.2.png When using lower opacity brush tips, remember to "compensate" for the less visible effects by increasing both Smudge Rate and 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 though with a 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: * Rotation set to Distance or 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 `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/en/Krita-tutorial5-II.3.png Basically you can paint first and add textured transitions after. Use cases: Coloring ~~~~~~~~~~~~~~~~~~~ For this last section, 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/en/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/en/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/en/Krita-tutorial5-III.1-3.png Soft-shading ~~~~~~~~~~~~ Suppose you want more or less smooth color transitions. You can either: * Color Rate as low as 0.10 for round brushes, higher with non fully opaque brush tips. * Or set the 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 Rotation for smoother blending * Optional: turn on Scatter for certain effects * Optional: fiddle with Size and Opacity dynamics as necessary. .. image:: /images/en/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 Ctrl+click, then used them in succession .. image:: /images/en/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/en/Krita-tutorial5-III.3-1.png One thing I really like to do is to set different foreground and background colors, then turn on Gradient -> Fuzzy. Alternatively, just paint with different colors in succession (bottom-right example). .. image:: /images/en/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 rotation -> distance. .. image:: /images/en/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 Scatter or other dynamics, you can choose to set smudge and color values to high or low values, for different outcomes. .. image:: /images/en/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/en/Krita-tutorial5-III.5.png And there you go. That last little trick concludes this tutorial. diff --git a/reference_manual/brushes/brush_engines/dyna_brush_engine.rst b/reference_manual/brushes/brush_engines/dyna_brush_engine.rst index c77f6b30d..e649199ca 100644 --- a/reference_manual/brushes/brush_engines/dyna_brush_engine.rst +++ b/reference_manual/brushes/brush_engines/dyna_brush_engine.rst @@ -1,68 +1,68 @@ .. meta:: :description: The Dyna Brush Engine manual page. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. _dyna_brush_engine: ================= Dyna Brush Engine ================= .. image:: /images/icons/dynabrush.svg Dyna brush uses dynamic setting like mass and drag to draw strokes. The results are fun and random spinning strokes.To experiment more with this brush you can play with values in 'dynamic settings' section of the brush editor under Dyna Brush. .. deprecated:: 4.0 This brush engine has been removed in 4.0. This engine mostly had smoothing results that the dyna brush tool has in the toolbox. The stabilizer settings can also give you further smoothing options from the tool options. Options ------- * :ref:`option_size_dyna` * :ref:`blending_modes` * :ref:`option_opacity_n_flow` * :ref:`option_airbrush` .. _option_size_dyna: -Brush Size(Dyna) ----------------- +Brush Size (Dyna) +----------------- Dynamics Settings ~~~~~~~~~~~~~~~~~ Initial Width Initial size of the dab. Mass How much energy there is in the satellite like movement. Drag How close the dabs follow the position of the brush-cursor. Width Range How much the dab expands with speed. Shape ~~~~~ Diameter Size of the shape. Angle Angle of the shape. Requires Fixed Angle active to work. Circle Make a circular dab appear. Two Draws an extra circle between other circles. Line Connecting lines are drawn next to each other. The number boxes on the right allows you to set the spacing between the lines and how many are drawn. Polygon Draws a black polygon as dab. Wire Draws the wireframe of the polygon. Paint Connection Draws the connection line. diff --git a/reference_manual/brushes/brush_engines/spray_brush_engine.rst b/reference_manual/brushes/brush_engines/spray_brush_engine.rst index f286c51ab..75ee9785e 100644 --- a/reference_manual/brushes/brush_engines/spray_brush_engine.rst +++ b/reference_manual/brushes/brush_engines/spray_brush_engine.rst @@ -1,121 +1,121 @@ .. meta:: :description: The Spray Brush Engine manual page. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Brush Engine, Airbrush, Spray Brush Engine .. _spray_brush_engine: ================== Spray Brush Engine ================== .. image:: /images/icons/spraybrush.svg -A brush that can spray particles around in it's brush area. +A brush that can spray particles around in its brush area. Options ------- * :ref:`option_spray_area` * :ref:`option_spray_shape` * :ref:`option_brush_tip` (Used as particle if spray shape is not active) * :ref:`option_opacity_n_flow` * :ref:`option_size` * :ref:`blending_modes` * :ref:`option_shape_dyna` * :ref:`option_color_spray` * :ref:`option_rotation` * :ref:`option_airbrush` .. _option_spray_area: Spray Area ---------- The area in which the particles are sprayed. Diameter The size of the area. Aspect Ratio It's aspect ratio: 1.0 is fully circular. Angle The angle of the spray size: works nice with aspect ratios other than 1.0. Scale Scales the diameter up. Spacing Increases the spacing of the diameter's spray. Particles ~~~~~~~~~ Count Use a specified amount of particles. Density Use a % amount of particles. Jitter Movement Jitters the spray area around for extra randomness. Gaussian Distribution Focuses the particles to paint in the center instead of evenly random over the spray area. .. _option_spray_shape: Spray Shape ----------- If activated, this will generate a special particle. If not, the brush-tip will be the particle. Shape Can be... * Ellipse * Rectangle * Anti-aliased Pixel * Pixel * Image Width & Height Decides the width and height of the particle. Proportional Locks Width & Height to be the same. Texture Allows you to pick an image for the image shape. .. _option_shape_dyna: Shape Dynamics -------------- Random Size Randomizes the particle size between 1x1 px and the given size of the particle in brush-tip or spray shape. Fixed Rotation Gives a fixed rotation to the particle to work from. Randomized Rotation Randomizes the rotation. Follow Cursor Weight How much the pressure affects the rotation of the particles. At 1.0 and high pressure it'll seem as if the particles are exploding from the middle. Angle Weight How much the spray area angle affects the particle angle. .. _option_color_spray: Color Options ------------- Random HSV Randomize the HSV with the strength of the sliders. The higher, the more the color will deviate from the foreground color, with the direction indicating clock or counter clockwise. Random Opacity Randomizes the opacity. Color Per Particle Has the color options be per particle instead of area. Sample Input Layer. Will use the underlying layer as reference for the colors instead of the foreground color. Fill Background Fills the area before drawing the particles with the background color. Mix with background color. Gives the particle a random color between foreground/input/random HSV and the background color. diff --git a/reference_manual/brushes/brush_engines/tangen_normal_brush_engine.rst b/reference_manual/brushes/brush_engines/tangen_normal_brush_engine.rst index add8ae1c7..a33034015 100644 --- a/reference_manual/brushes/brush_engines/tangen_normal_brush_engine.rst +++ b/reference_manual/brushes/brush_engines/tangen_normal_brush_engine.rst @@ -1,128 +1,128 @@ .. meta:: :description: The Tangent Normal Brush Engine manual page. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Brush Engine, Normal Map, Tangent Normal Brush Engine .. _tangent_brush_engine: =========================== Tangent Normal Brush Engine =========================== .. image:: /images/icons/tangentnormal.svg -The Tangent Normal Brush Engine is an engine that is specifically designed for drawing normal maps, of the tangent variety. These are in turn used in 3d programs and game engines to do all sorts of lightning trickery. Common uses of normal maps include faking detail where there is none, and to drive transformations(Flow Maps). +The Tangent Normal Brush Engine is an engine that is specifically designed for drawing normal maps, of the tangent variety. These are in turn used in 3d programs and game engines to do all sorts of lightning trickery. Common uses of normal maps include faking detail where there is none, and to drive transformations (Flow Maps). A Normal map is an image that holds information for vectors. In particular, they hold information for Normal Vectors, which is the information for how the light bends on a surface. Because Normal Vectors are made up of 3 coordinates, just like colors, we can store and see this information as colors. Normals can be seen similar to the stylus on your tablet. Therefore, we can use the tilt-sensors that are available to some tablets to generate the colour of the normals, which can then be used by a 3d program to do lighting effects. In short, you will be able to paint with surfaces instead of colors. The following options are available to the tangent normal brush engine: * :ref:`option_brush_tip` * :ref:`blending_modes` * :ref:`option_opacity_n_flow` * :ref:`option_size` * :ref:`option_ratio` * :ref:`option_spacing` * :ref:`option_mirror` * :ref:`option_softness` * :ref:`option_sharpness` * :ref:`option_rotation` * :ref:`option_scatter` * :ref:`option_airbrush` * :ref:`option_texture` Specific Parameters to the Tangent Normal Brush Engine ------------------------------------------------------ Tangent Tilt ~~~~~~~~~~~~ These are the options that determine how the normals are calculated from tablet input. Tangent Encoding - This allows you to set what each color channel means. Different programs set different coordinates to different channels, a common version is that the green channel might need to be inverted(-Y), or that the green channel is actually storing the x-value (+X). + This allows you to set what each color channel means. Different programs set different coordinates to different channels, a common version is that the green channel might need to be inverted (-Y), or that the green channel is actually storing the x-value (+X). Tilt Options Allows you to choose which sensor is used for the X and Y. Tilt Uses Tilt for the X and Y. Direction Uses the drawing angle for the X and Y and Tilt-elevation for the Z, this allows you to draw flowmaps easily. Rotation Uses rotation for the x and y, and tilt-elevation for the Z. Only available for specialized Pens. Elevation Sensitivity Allows you to change the range of the normal that are outputted. At 0 it will only paint the default normal, at 1 it will paint all the normals in a full hemisphere. Usage ----- The Tangent Normal Map Brush Engine is best used with the Tilt Cursor, which can be set in :menuselection:`Settings --> configure Krita --> general --> Outline Shape --> Tilt Outline`. Normal Map authoring workflow ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Create an image with a background color of (128, 128, 255) blue/purple. .. figure:: /images/en/Krita-normals-tutorial_1.png :figwidth: 500 Setting up a background with the default color. #. Set up group with a phongbumpmap-filter mask. Use the 'use normal map' checkbox on the filter to make it use normals. .. figure:: /images/en/Krita-normals-tutorial_2.png :figwidth: 500 Creating a phong bump map filterlayer, make sure to check 'use normalmap'. .. figure:: /images/en/Krita-normals-tutorial_3.png :figwidth: 500 These settings give a nice daylight-esque lighting setup, with light 1 being the sun, light 3 being the light from the sky, and light 2 being the light from the ground. #. Make a 'normalize' filter layer or mask to normalize the normal map before feeding it into the phongbumpmap filter for the best results. #. Then, paint on layers in the group to get direct feedback. .. figure:: /images/en/Krita-normals-tutoria_4.png :figwidth: 500 Paint on the layer beneath the filters with the tangent normal brush to have them be converted in real time. -#. Finally, when done, hide the phongbumpmap filter-layer(but keep the normalize filter layer!) , and export the normal map for use in 3d programs. +#. Finally, when done, hide the phongbumpmap filter-layer (but keep the normalize filter layer!) , and export the normal map for use in 3d programs. Drawing Direction Maps ~~~~~~~~~~~~~~~~~~~~~~ -Direction maps are made with the 'Direction' option in the Tangent Tilt options. These normal maps are used to distort textures in a 3d program(to simulate for example, the flow of water) or to create maps that indicate how hair and brushed metal is brushed. Krita can't currently give feedback on how a given direction map will influence a distortion or shader, but these maps are a little easier to read. +Direction maps are made with the 'Direction' option in the Tangent Tilt options. These normal maps are used to distort textures in a 3d program (to simulate for example, the flow of water) or to create maps that indicate how hair and brushed metal is brushed. Krita can't currently give feedback on how a given direction map will influence a distortion or shader, but these maps are a little easier to read. Just set the tangent-tilt option to direction, and draw. The direction your brush draws in will be the direction that is encoded in the colors. Only editing a single channel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sometimes you only want to edit a single channel. In that case set the blending mode of the brush to 'copy ', with replaced with red, green or blue. These are under the misc section of the blending modes. So, if you want the brush to only affect the red channel, set the blending mode to 'copy red'. .. figure:: /images/en/Krita_Filter_layer_invert_greenchannel.png :figwidth: 500 The copy red, green and blue blending modes also work on filter-layers. This can also be done with filter layers. So if you quickly want to flip a layer's green channel, make an invert filter layer with 'copy green' above it. Mixing Normal Maps ~~~~~~~~~~~~~~~~~~ For mixing two normal maps, Krita has the Combine Normal Map blending mode under 'misc'. diff --git a/reference_manual/brushes/brush_settings/brush_tips.rst b/reference_manual/brushes/brush_settings/brush_tips.rst index 056f62c43..a4874bd94 100644 --- a/reference_manual/brushes/brush_settings/brush_tips.rst +++ b/reference_manual/brushes/brush_settings/brush_tips.rst @@ -1,144 +1,144 @@ .. meta:: :description: How to use brush tips in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - PMoonen - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Brush tip, Brush Mask .. _option_brush_tip: ========== Brush Tips ========== .. image:: /images/en/Krita_Pixel_Brush_Settings_Popup.png .. _auto_brush_tip: Auto Brush ---------- The generic circle or square. These brush-tips are generate by Krita through certain parameters. Types ~~~~~ First, there's three mask-types, with each the circle and square shape: Default This is the ultimate generic type. The fade parameter produces the below results. Of the three auto brushes, this is the fastest. .. image:: /images/en/Krita_29_brushengine_brushtips_default.png Soft This one's fade is controlled by a curve! .. image:: /images/en/Krita_2_9_brushengine_brushtips_soft.png Gaussian This one uses the gaussian algorithm to determine the fade. Out of the three auto brushes, this is the slowest. .. image:: /images/en/Krita_2_9_brushengine_brushtips_gaussian.png Parameters ~~~~~~~~~~ Diameter The pixel size of the brush. Ratio Whether the brush is elongated or not. .. image:: /images/en/Krita_2_9_brushengine_brushtips_ratio.png Fade this sets the softness of the brush. You can click the chain-symbol to lock and unlock these settings. Fade has a different effect per mask-type, so don't be alarmed if it looks strange, perhaps you have the wrong mask-type. .. image:: /images/en/Krita_2_9_brushengine_brushtips_default2b.png (With fade locked) .. image:: /images/en/Krita_2_9_brushengine_brushtips_default_3.png (With fade separately horizontal and vertical) Angle This changes the angle a which the brush is at. .. image:: /images/en/Krita_2_9_brushengine_brushtips_angle.png Spikes This gives the amount of tips related to the ratio. .. image:: /images/en/Krita_2_9_brushengine_brushtips_spikes.png Density This decreases how much area the brush-covers over it's size: It makes it noisy. In the example below, the brush is set with density 0%, 50% and 100% respectively. .. image:: /images/en/Krita_2_9_brushengine_brushtips_density.png Randomness This changes the randomness of the density. In the example below, the brush is set with randomness 0%, 50% and 100% respectively. .. image:: /images/en/Krita_2_9_brushengine_brushtips_randomness.png Spacing This affects how far brushes are spaced apart. In the below picture, the three examples on the left are with spacing 0, 1 and 5. Auto (spacing) - Ticking this will set the brush-spacing to a different(quadratic) algorithm. The result is fine control over the spacing. In the below picture, the three examples on right are with auto spacing, 0, 1 and 5 respectively. + Ticking this will set the brush-spacing to a different (quadratic) algorithm. The result is fine control over the spacing. In the below picture, the three examples on right are with auto spacing, 0, 1 and 5 respectively. .. image:: /images/en/Krita_2_9_brushengine_brushtips_spacing.png Smooth lines. This toggles the super-smooth anti-aliasing. In the below example, both strokes are drawn with a default brush with fade set to 0. On the left without smooth lines, and the right with. Very useful for inking brushes. This option is best used in combination with Auto Spacing. .. image:: /images/en/Krita_2_9_brushengine_brushtips_default_2.png Precision This changes how smooth the brush is rendered. The lower, the faster the brush, but the worse the rendering looks. You'd want an inking brush to have a precision of 5 at all times, but a big filling brush for painting doesn't require such precision, and can be easily sped up by setting precision to 1. Auto (precision) This allows you to set the precision linked to the size. The first value is the brush size at which precision is last 5, and the second is the size-difference at which the precision will decrease. For example: A brush with ''starting brush size'' 10 and ''delta'' 4, will have... precision 5 at size 10 precision 4 at size 14 precision 3 at size 18 precision 2 at size 22 precision 1 at sizes above 26. .. _predefined_brush_tip: Predefined Brushes ~~~~~~~~~~~~~~~~~~ .. image:: /images/en/Krita_Predefined_Brushes.png If you have used other applications like :program:`GIMP` or :program:`Photoshop`, you will have used this kind of brush. :program:`Krita` is (mostly) compatible with the brush tip definitions files of these applications: abr GIMP autobrush tip definitions :ref:`file_gbr` GIMP single bitmap brush tip. Can be black and white or colored. :ref:`file_gih` GIMP Image Hose brush tip: contains a series of brush tips that are painted randomly or in order after each other. Can be black and white or colored. :program:`Krita` does not yet support all the parameters yet. abr Photoshop brush tip collections. We support many of the features of these brush files, though some advanced features are not supported yet. Note that the definition of ABR brushes has been reverse engineered since Adobe does not make the specification public. We strongly recommend every :program:`Krita` user to share brush tips in GBR and GIH format and more complex brushes as :program:`Krita` presets. All predefined brush tips are shown in one selector. There are four more options that influence the initial bitmap brush tip you start painting with: Scale scales the brush tip. 1.0 is the native size of the brush tip. This can be fairly large! When painting with variable size (for instance governed by pressure), this is the base for the calculations. Rotation initial rotation of the brush tip. Spacing distance between the brush tip impressions. Use color as mask for colored brushes, don't paint the actual colors, but make a grayscale brush tip that will be colored by your selected foreground/background color. diff --git a/reference_manual/brushes/brush_settings/options.rst b/reference_manual/brushes/brush_settings/options.rst index adcc09a47..0665d1a91 100644 --- a/reference_manual/brushes/brush_settings/options.rst +++ b/reference_manual/brushes/brush_settings/options.rst @@ -1,190 +1,190 @@ .. meta:: :description: Krita's Brush Engine options overview. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic - Hulmanen - Nmaghrufusman :license: GNU free documentation license 1.3 or later. .. _brush_options: ======= Options ======= .. index:: Airbrush .. _option_airbrush: Airbrush -------- .. image:: /images/en/Krita_2_9_brushengine_airbrush.png If you hold the brush still, but are still pressing down, this will keep adding colour onto the canvas. The lower the rate, the quicker the colour gets added. .. index:: Mirror .. _option_mirror: Mirror ------ .. image:: /images/en/Krita_Pixel_Brush_Settings_Mirror.png This allows you to mirror the Brush-tip with Sensors. Horizontal Mirrors the mask horizontally. Vertical Mirrors the mask vertically. .. image:: /images/en/Krita_2_9_brushengine_mirror.jpg Some examples of mirroring and using it in combination with :ref:`option_rotation`. .. _option_rotation: Rotation -------- This allows you to affect Angle of your brush-tip with Sensors. .. image:: /images/en/Krita_2_9_brushengine_rotation.png .. image:: /images/en/Krita_Pixel_Brush_Settings_Rotation.png In the above example, several applications of the parameter. #. Drawing Angle -- A common one, usually used in combination with rake-type brushes. Especially effect because it does not rely on tablet-specific sensors. Sometimes, Tilt-Direction or Rotation is used to achieve a similar-more tablet focused effect, where with Tilt the 0° is at 12 o'clock, Drawing angle uses 3 o'clock as 0°. #. Fuzzy -- Also very common, this gives a nice bit of randomness for texture. #. Distance -- With careful editing of the Sensor curve, you can create nice patterns. #. Fade -- This slowly fades the rotation from one into another. #. Pressure -- An interesting one that can create an alternative looking line. .. _option_scatter: Scatter ------- This parameter allows you to set the random placing of a brush-dab. You can affect them with Sensors. X The scattering on the angle you are drawing from. Y - The scattering, perpendicular tot he drawing angle(has the most effect) + The scattering, perpendicular tot he drawing angle (has the most effect) .. image:: /images/en/Krita_2_9_brushengine_scatter.png .. _option_sharpness: Sharpness --------- .. image:: /images/en/Krita_Pixel_Brush_Settings_Sharpness.png Puts a threshold filter over the brush mask. .. _option_size: Size ---- .. image:: /images/en/Krita_Pixel_Brush_Settings_Size.png This parameter is not the diameter itself, but rather the curve for how it's affected. So, if you want to lock the diameter of the brush, lock the Brush-tip. Locking the size parameter will only lock this curve. Allowing this curve to be affected by the Sensors can be very useful to get the right kind of brush. For example, if you have trouble drawing fine lines, try to use a concave curve set to pressure. That way you'll have to press hard for thick lines. .. image:: /images/en/Krita_2_9_brushengine_size_01.png Also popular are setting the size to the sensor fuzzy or perspective, with the later in combination with a :ref:`assistant_perspective` .. image:: /images/en/Krita_2_9_brushengine_size_02.png .. _option_softness: Softness -------- This allows you to affect Fade with Sensors. .. image:: /images/en/Krita_2_9_brushengine_softness.png Has a slight brush-decreasing effect, especially noticeable with soft-brush, and is overall more noticeable on large brushes. .. _option_source: Source ------ Picks the source-colour for the brush-dab. Plain Color Current foreground color. Gradient Picks active gradient Uniform Random Gives a random colour to each brush dab. Total Random Random noise pattern is now painted. Pattern Uses active pattern, but alignment is different per stroke. Locked Pattern Locks the pattern to the brushdab .. _option_mix: Mix --- Allows you to affect the mix of the :ref:`option_source` color with Sensors. It will work with Plain Color and Gradient as source. If Plain Color is selected as source, it will mix between foreground and background colors selected in color picker. If Gradient is selected, it chooses a point on the gradient to use as painting color according to the sensors selected. .. image:: /images/en/Krita_2_9_brushengine_mix_01.png Uses ~~~ .. image:: /images/en/Krita_2_9_brushengine_mix_02.png Flow map The above example uses a :program:`Krita` painted flowmap in the 3d program :program:`Blender`. a brush was set to source Gradient and Mix:Drawing angle. The gradient in question contained the 360° for normal map colours. Flow maps are used in several Shaders, such as brushed metal, hair and certain river-shaders. .. _option_gradient: Gradient ~~~~~~~~ Exactly the same as using Source:Gradient with Mix, but only available for the Color Smudge Brush. .. index:: Spacing .. _option_spacing: Spacing ------- .. image:: /images/en/Krita_Pixel_Brush_Settings_Spacing.png This allows you to affect :ref:`option_brush_tip` with :ref:`sensors`. .. image:: /images/en/Krita_2_9_brushengine_spacing_02.png ;Isotropic. :Instead of the spacing being related to the ratio of the brush, it will be on diameter only. .. image:: /images/en/Krita_2_9_brushengine_spacing_01.png .. index:: Ratio .. _option_ratio: Ratio ----- Allows you to change the ratio of the brush and bind it to parameters. This also works for predefined brushes. .. image:: /images/en/Krita_3_0_1_Brush_engine_ratio.png diff --git a/reference_manual/brushes/brush_settings/texture.rst b/reference_manual/brushes/brush_settings/texture.rst index 381a999d2..1d1140688 100644 --- a/reference_manual/brushes/brush_settings/texture.rst +++ b/reference_manual/brushes/brush_settings/texture.rst @@ -1,75 +1,75 @@ .. meta:: :description: The texture brush settings option in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Texture, Patterns .. _option_texture: ======= Texture ======= This allows you to have textured strokes. This parameter always shows up as two parameters: Texture ------- Pattern Which pattern you'll be using. Scale The size of the pattern. 1.0 is 100%. .. image:: /images/en/Krita_2_9_brushengine_texture_05.png Horizontal Offset & Vertical Offset How much a brush is offset, random offset sets a new per stroke. .. image:: /images/en/Krita_2_9_brushengine_texture_04.png Texturing mode Multiply Uses alpha multiplication to determine the effect of the texture. Has a soft feel. Subtract Uses subtraction to determine the effect of the texture. Has a harsher, more texture feel. .. image:: /images/en/Krita_2_9_brushengine_texture_01.png Cutoff policy Cutoff policy will determine what range and where the strength will affect the textured outcome. Disabled doesn't cut off. Full range will be used. Pattern cuts the pattern off. Brush Cuts the brush-tip off. .. image:: /images/en/Krita_2_9_brushengine_texture_02.png Cutoff Cutoff is... the grayscale range that you can limit the texture to. This also affects the limit takes by the strength. In the below example, we move from the right arrow moved close to the left one, resulting in only the darkest values being drawn. After that, three images with larger range, and underneath that, three ranges with the left arrow moved, result in the darkest values being cut away, leaving only the lightest. The last example is the pattern without cutoff. .. image:: /images/en/Krita_2_9_brushengine_texture_07.png Invert Pattern Invert the pattern. .. image:: /images/en/Krita_2_9_brushengine_texture_06.png Brightness and Contrast .. versionadded:: 3.3.1 Adjust the pattern with a simple brightness/contrast filter to make it easier to use. Because Subtract and Multiply work differently, it's recommended to use different values with each: .. image:: /images/en/Krita_3_1_brushengine_texture_07.png Strength -------- -This allows you to set the texture to Sensors. It will use the cutoff to continuously draw lighter values of the texture(making the result darker) +This allows you to set the texture to Sensors. It will use the cutoff to continuously draw lighter values of the texture (making the result darker) .. image:: /images/en/Krita_2_9_brushengine_texture_03.png .. seealso:: - `David Revoy describing the texture feature(old) `_ + `David Revoy describing the texture feature (old) `_ diff --git a/reference_manual/dockers/advanced_color_selector.rst b/reference_manual/dockers/advanced_color_selector.rst index a425bca18..7c2bd46e9 100644 --- a/reference_manual/dockers/advanced_color_selector.rst +++ b/reference_manual/dockers/advanced_color_selector.rst @@ -1,155 +1,155 @@ .. meta:: :description: Overview of the advanced color selector docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Selector, ! Advanced Color Selector .. _advanced_color_selector_docker: ======================= Advanced Color Selector ======================= .. image:: /images/en/Advancecolorselector.jpg As compared to other color selectors in Krita, Advance color selector provides more control and options to the user. To open Advance color selector choose :menuselection:`Settings --> Docker --> Advance Color Selector`. You can configure this docker by clicking on the little wrench icon on the top left corner. Clicking on the wrench will open a popup window with following tabs and options : Color Selector -------------- Here you configure the main selector. Type and Shape ~~~~~~~~~~~~~~ .. image:: /images/en/Krita_Color_Selector_Types.png Here you can pick the hsx model you'll be using. There's a small blurb explaining the characteristic of each model, but let's go into detail: HSV Stands for Hue, Saturation, Value. Saturation determines the difference between white, grey, black and the most colorful color. Value in turn measures either the difference between black and white, or the difference between black and the most colorful color. HSL Stands for Hue, Saturation, Lightness. All saturated colors are equal to 50% lightness. Saturation allows for shifting between grey and color. HSI - This stands for Hue, Saturation and Intensity. Unlike HSL, this one determine the intensity as the sum of total rgb components. Yellow(1,1,0) has higher intensity than blue(0,0,1) but is the same intensity as cyan(0,1,1). + This stands for Hue, Saturation and Intensity. Unlike HSL, this one determine the intensity as the sum of total rgb components. Yellow (1,1,0) has higher intensity than blue (0,0,1) but is the same intensity as cyan (0,1,1). HSY' Stands for Hue, Saturation, Luma, with Luma being an RGB approximation of true luminosity. (Luminosity being the measurement of relative lightness). HSY' uses the Luma Coefficients, like [http://en.wikipedia.org/wiki/Rec._709 Rec 709], to calculate the Luma. Due to this, HSY' can be the most intuitive selector to work with, or the most confusing. Then, under shape, you can select one of the shapes available within that colour model. .. note:: Triangle is in all colour models because to a certain extent, it is a wildcard shape: All colour models look the same in a equilateral triangle selector. Luma Coefficients ~~~~~~~~~~~~~~~~~ This allows you to edit the Luma coefficients for the HSY model selectors to your leisure. Want to use [http://en.wikipedia.org/wiki/Rec._601 Rec 601] instead of Rec 709? These boxes allow you to do that! By default, the Luma coefficients should add up to 1 at maximum. Gamma The HSY selector is linearised, this setting allows you to choose how much gamma is applied to the Luminosity for the gui element. 1.0 is fully linear, 2.2 is default. Color Space ~~~~~~~~~~~ This allows you to set the overall color space for the Advanced Color Selector. .. warning:: You can pick only sRGB colors in advanced color selector regardless of the color space of advanced color selector. This is a bug. Behaviour --------- When docker resizes ~~~~~~~~~~~~~~~~~~~ This determines the behavior of the widget as it become smaller. Change to Horizontal This'll arrange the shade selector horizontal to the main selector. Only works with the MyPaint shade selector Hide Shade Selector This hides the shade selector. Do nothing Does nothing, just resizes. Zoom selector UI ~~~~~~~~~~~~~~~~ If your have set the docker size considerably smaller to save space, this option might be helpful to you. This allows you to set whether or not the selector will give a zoomed view of the selector in a size specified by you, you have these options for the zoom selector: * when pressing middle mouse button * on mouse over * never -The size given here, is also the size of the Main Color Selector and the MyPaint Shade Selector when they are called with :kbd:`shift + I` and :kbd:`shift`+:kbd:`M`, respectively. +The size given here, is also the size of the Main Color Selector and the MyPaint Shade Selector when they are called with :kbd:`Shift + I` and :kbd:`Shift`+:kbd:`M`, respectively. Hide Pop-up on click This allows you to let the pop-up selectors called with the above hotkeys to disappear upon clicking them instead of having to leave the pop-up boundary. This is useful for faster working. Shade selector -------------- Shade selector options. The shade selectors are useful to decide upon new shades of color. Update Selector ~~~~~~~~~~~~~~~ This allows you to determine when the shade selector updates. MyPaint Shade Selector ~~~~~~~~~~~~~~~~~~~~~~ Ported from MyPaint, and extended with all color models. Default hotkey is :kbd:`Shift+ M` Simple Shade Selector ~~~~~~~~~~~~~~~~~~~~~ This allows you to configure the simple shade selector in detail. Color Patches ------------- This sets the options of the color patches. Both Color History and Colors From the Image have similar options which will be explained below. Show This is a radio button to show or hide the section. It also determines whether or not the colors are visible with the advanced color selector docker. Size The size of the color boxes can be set here. Patch Count The number of patches to display. Direction The direction of the patches, Horizontal or Vertical. Allow Scrolling Whether to allow scrolling in the section or not when there are too many patches. Number of Columns/Rows The number of Columns or Rows to show in the section. Update After Every Stroke This is only available for Colors From the Image and tells the docker whether to update the section after every stroke or not, as after each stroke the colors will change in the image. History patches ~~~~~~~~~~~~~~~ The history patches remember which colors you've drawn on canvas with. They can be quickly called with :kbd:`H` Common Patches ~~~~~~~~~~~~~~ The common patches are generated from the image, and are the most common colour in the image. The hotkey for them on canvas is :kbd:`U`. External Info ------------- `HSI and HSY for Krita’s advanced colour selector. `_ diff --git a/reference_manual/dockers/grids_and_guides.rst b/reference_manual/dockers/grids_and_guides.rst index eb70670c4..3f0f0fcf6 100644 --- a/reference_manual/dockers/grids_and_guides.rst +++ b/reference_manual/dockers/grids_and_guides.rst @@ -1,90 +1,90 @@ .. meta:: :description: Overview of the grids and guides docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Nathan Lovato :license: GNU free documentation license 1.3 or later. .. index:: ! Grid, ! Guides, Isometric Grid, Orthogonal Grid .. _grids_and_guides_docker: ======================= Grids and Guides Docker ======================= The grids and guides docker replaces the :ref:`grid_tool` in Krita 3.0. This docker controls the look and the visibility of both the Grid and the Guides decorations. It also features a checkbox to quickly toggle snapping on or off. Grids ----- Grids in Krita can currently only be orthogonal and diagonal.. There is a single grid per canvas, and it is saved within the document. Thus it can be saved in a :ref:`templates`. Show Grid Shows or hides the grid. Snap to Grid - Toggles grid snapping on or off. This can also be achieved with :kbd:`shift + S`. + Toggles grid snapping on or off. This can also be achieved with :kbd:`Shift + S`. Type The type of Grid Rectangle An orthogonal grid. X and Y spacing Sets the width and height of the grid in pixels. Subdivision Groups cells together as larger squares and changes the look of the lines it contains. A subdivision of 2 will make cells appear twice as big, and the inner lines will become subdivisions. Isometric A diagonal grid. Isometric doesn't support snapping. Left and Right Angle The angle of the lines. Set both angles to 30° for true isometric. Cell spacing Determines how much both sets of lines are spaced. Grid Offset Offsets the grid’s starting position from the top-left corner of the document, in pixels. Main Style Controls the look of the grid’s main lines. Div Style Controls the look of the grid’s “subdivision” lines. .. image:: /images/en/Grid_sudvision.png The grid's base size is 64 pixels. With a subdivision of 2, the main grid lines are 128 px away from one another, and the intermediate lines have a different look. Guides ------ Guides are horizontal and vertical reference lines. You can use them to place and align layers accurately on the canvas. .. image:: /images/en/Guides.jpg Creating Guides ~~~~~~~~~~~~~~~ To create a guide, you need both the rulers and the guides to be visible. #. Rulers. (:menuselection:`View --> Show Rulers`) #. Guides. (:menuselection:`View --> Show Guides`) To create a guide, move your cursor over a ruler and drag in the direction of the canvas. A line will appear. Dragging from the left ruler creates a vertical guide, and dragging from the top ruler creates a horizontal guide. Editing Guides Place your cursor above a guide on the canvas. If the guides are not locked, your cursor will change to a double arrow. In that case, click and drag to move the guide. To lock and unlock the guides, open the Grid and Guides Docker. Ensure that the Guides tab is selected. From here you can lock the guides, enable snapping, and change the line style. .. note:: Currently, it is not possible to create or to move guides to precise positions. The only way to achieve that for now is to zoom in on the canvas, or to use the grid and snapping to place the guide. Removing Guides ~~~~~~~~~~~~~~~ Click on the guide you want to remove and drag it outside of the canvas area. When you release your mouse or stylus, the guide will be removed. diff --git a/reference_manual/dockers/layers.rst b/reference_manual/dockers/layers.rst index 23dbf0e12..a1d611d29 100644 --- a/reference_manual/dockers/layers.rst +++ b/reference_manual/dockers/layers.rst @@ -1,92 +1,92 @@ .. meta:: :description: Overview of the layers docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: ! Layers, Passthrough Mode, Alpha Inheritance, Blending Mode, Label, Onion Skin, Layer Style, Alpha Lock .. _layer_docker: ====== Layers ====== .. image:: /images/en/Krita_Layers_Docker.png The Layers docker is for one of the core concepts of Krita: :ref:`Layer Management `. You can add, delete, rename, duplicate and do many other things to layers here. The Layer Stack --------------- -You can select the active layer here. Using :kbd:`shift` and :kbd:`ctrl` you can select multiple layers and drag-and-drop them. You can also change the visibility, edit state, alpha inheritance and rename layers. You can open and close groups, and you can drag and drop layers, either to reorder them, or to put them in groups. +You can select the active layer here. Using :kbd:`Shift` and :kbd:`Ctrl` you can select multiple layers and drag-and-drop them. You can also change the visibility, edit state, alpha inheritance and rename layers. You can open and close groups, and you can drag and drop layers, either to reorder them, or to put them in groups. Name The Layer name, just do double- |mouseleft| to make it editable, and press :kbd:`Enter` to finish editing. Label This is a color that you can set on the layer. |mouseright| the layer to get a context menu to assign a color to it. You can then later filter on these colors. Blending Mode This will set the :ref:`blending_modes` of the layer. Opacity This will set the opacity of the whole layer. Visibility An eye-icon. Clicking this can hide a whole layer. Edit State (Or layer Locking) A lock Icon. Clicking this will prevent the layer from being edited, useful when handling large amounts of layers. Alpha Lock This will prevent the alpha of the layer being edited. In more plain terms: This will prevent the transparency of a layer being changed. Useful in colouring images. Pass-through mode Only available on Group Layers, this allows you to have the blending modes of the layers within affect the layers outside the group. Doesn't work with masks currently, therefore these have a strike-through on group layers set to pass-through. Alpha Inheritance This will use the alpha of all the peers of this layer as a transparency mask. For a full explanation see :ref:`layers_and_masks`. Open or Close Layers (An Arrow Icon) This will allow you to access sub-layers of a layer. Seen with masks and groups. Onion Skin This is only available on :ref:`animated layers `, and toggles the onion skin feature. Layer Style This is only available on layers which have a :ref:`layer_style` assigned. The button allows you to switch between on/off quickly. To edit these properties on multiple layers at once, press the properties option when you have multiple layers selected or press :kbd:`F3` There, to change the names of all layers, the checkbox before :guilabel:`name` should be ticked after which you can type in a name. Krita will automatically add a number behind the layer-names. You can change other layer properties like visibility, opacity, lock states etc too. .. image:: /images/en/Krita-multi-layer-edit.png Lower buttons ------------- These are buttons for doing layer operations. Add Will by default add a new Paint Layer, but using the little arrow, you can call a sub-menu with the other layer types. Duplicate Will Duplicate the active layer(s). Can be quickly invoked with :kbd:`Ctrl` + |mouseleft| + drag. Move layer up. Will move the active layer up. Will switch them out and in groups when coming across them. Move layer down. Will move the active layer down. Will switch them out and in groups when coming across them. Layer properties. Will open the layer properties window. Delete Will delete the active layer(s). For safety reasons, you can only delete visible layers. Hot keys and Sticky Keys ------------------------ * :kbd:`Shift + Ctrl` for selecting multiple layers. * :kbd:`Ctrl` + |mouseleft| + drag - makes a duplicate of the selected layers, for you to drag and drop. -* :kbd:`Ctrl + E` for merging a layer down. This also merges selected layers, layer styles and will keep selection masks in tact. Using :kbd:`ctrl + E` on a single layer with a mask will merge down the mask into the layer. +* :kbd:`Ctrl + E` for merging a layer down. This also merges selected layers, layer styles and will keep selection masks in tact. Using :kbd:`Ctrl + E` on a single layer with a mask will merge down the mask into the layer. * :kbd:`Ctrl + Shift + E` merges all layers. * :kbd:`R` + |mouseleft| allows you to select layers on canvas, similar to picking colours directly on canvas. Use :kbd:`Shift + R` + |mouseleft| for multiple layers. -* :kbd:`ins` for adding a new layer. +* :kbd:`Ins` for adding a new layer. * :kbd:`Ctrl + G` will create a group layer. If multiple layers are selected, they are put into the group layer. * :kbd:`Ctrl + Shift + G` will quickly set-up a clipping group, with the selected layers added into the group, and a new layer added on top with alpha-inheritance turned on, ready for painting! -* :kbd:`ctrl + Alt + G` will ungroup layers inside a group. +* :kbd:`Ctrl + Alt + G` will ungroup layers inside a group. * :kbd:`Alt` + |mouseleft| on the thumbnail for isolated view of a layer. This will maintain between layers till the same action is repeated again. * :kbd:`Shift` + |mouseleft| on the eye-icon for hiding all but the current layer. * :kbd:`Page Up` and :kbd:`Page Down` for switching between layers. * :kbd:`Ctrl + Page Up` and :kbd:`Ctrl + Page Down` will move the selected layers up and down. diff --git a/reference_manual/dockers/lut_management.rst b/reference_manual/dockers/lut_management.rst index c99ad7ae3..5dcbadbc3 100644 --- a/reference_manual/dockers/lut_management.rst +++ b/reference_manual/dockers/lut_management.rst @@ -1,49 +1,49 @@ .. meta:: :description: Overview of the LUT management docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Look Up Table, ! LUT Management, OCIO .. _lut_docker: ============== LUT Management ============== .. image:: /images/en/LUT_Management_Docker.png -The Look Up Table(LUT) Management docker controls the high dynamic range(HDR) painting functionality. +The Look Up Table (LUT) Management docker controls the high dynamic range (HDR) painting functionality. Use Open Color IO Use Open Color IO instead of Krita's internal color management. Open Color IO is a color management library. It is sometimes referred to as OCIO. This is required as Krita uses OCIO for it's HDR functionality. Color Engine Choose the engine. Configuration Use an OCIO configuration file from your computer. .. note :: Some system locals don't allow you to read the configuration files. This is due to a bug in OCIO. If you are using linux you can fix this. If you start Krita form the terminal with the ``LC_ALL=C krita`` flag set, you should be able to read the configuration files. Input Color Space What the color space of the image is. Usually sRGB or Linear. Display Device The type of device you are using to view the colors. Typically sRGB for computer screens. View -- Components Allows you to study a single channel of your image with LUT. Exposure Set the general exposure. On 0.0 at default. There's :kbd:`Y` to change this on the fly on canvas. Gamma Allows you to set the gamma. This is 1.0 by default. You can set this to change on the fly in canvas shortcuts. Lock color Locks the color to make sure it doesn't shift when changing exposure. May not be desired. Set white and black points This allows you to set the maximum and minimum brightness of the image, which'll adjust the exposure and gamma automatically to this. diff --git a/reference_manual/dockers/onion_skin.rst b/reference_manual/dockers/onion_skin.rst index 612ec367d..451fe6556 100644 --- a/reference_manual/dockers/onion_skin.rst +++ b/reference_manual/dockers/onion_skin.rst @@ -1,37 +1,37 @@ .. meta:: :description: Overview of the onion skin docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Animation, ! Onion Skin .. _onion_skin_docker: ================= Onion Skin Docker ================= .. image:: /images/en/Onion_skin_docker.png To make animation easier, it helps to see both the next frame as well as the previous frame sort of layered on top of the current. This is called *onion-skinning*. .. image:: /images/en/Onion_skin_01.png Basically, they are images that represent the frames before and after the current frame, usually colored or tinted. -You can toggle them by clicking the lightbulb icon on a layer that is animated(so, has frames), and isn’t fully opaque. (Krita will consider white to be white, not transparent, so don’t animated on an opaque layer if you want onion skins.) +You can toggle them by clicking the lightbulb icon on a layer that is animated (so, has frames), and isn’t fully opaque. (Krita will consider white to be white, not transparent, so don’t animated on an opaque layer if you want onion skins.) -The term onionskin comes from the fact that onions are semi-transparent. In traditional animation animations would make their initial animations on semitransparent paper on top of an light-table(of the special animators variety), and they’d start with so called keyframes, and then draw frames in between. For that, they would place said keyframes below the frame they were working on, and the light table would make the lines of the keyframes shine through, so they could reference them. +The term onionskin comes from the fact that onions are semi-transparent. In traditional animation animations would make their initial animations on semitransparent paper on top of an light-table (of the special animators variety), and they’d start with so called keyframes, and then draw frames in between. For that, they would place said keyframes below the frame they were working on, and the light table would make the lines of the keyframes shine through, so they could reference them. Onion-skinning is a digital implementation of such a workflow, and it’s very useful when trying to animate. .. image:: /images/en/Onion_skin_02.png The slider and the button with zero offset control the master opacity and visibility of all the onion skins. The boxes at the top allow you to toggle them on and off quickly, the main slider in the middle is a sort of ‘master transparancy’ while the sliders to the side allow you to control the transparency per keyframe offset. Tint controls how strongly the frames are tinted, the first screen has 100%, which creates a silhouette, while below you can still see a bit of the original colors at 50%. Previous and next frame allows you set the colors. diff --git a/reference_manual/dockers/palette_docker.rst b/reference_manual/dockers/palette_docker.rst index d5edae8af..b11e1b7a4 100644 --- a/reference_manual/dockers/palette_docker.rst +++ b/reference_manual/dockers/palette_docker.rst @@ -1,59 +1,59 @@ .. 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 .. _palette_docker: ============== Palette Docker ============== The palette docker displays various color swatches for quick use. Since 4.0, it also supports editing palettes and organizing colors into groups. .. image:: /images/en/Palette-docker.png You can choose from various default palette 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 (folder icon) to load your own color palette. Creating a new palette can be done by filling out the :guilabel:`name` input, pressing :guilabel:`Save` and selecting your new palette from the list. * 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, they will be added to the default group above. .. versionadded:: 4.0 * 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. * Pressing the :guilabel:`+` icon will allow you to add a new swatch. * Pressing the Folder icon will allow you to add a new 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". 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 recognise spot colors. If you find the size of color swatches too small, you can increase the size by hovering your mouse over the palette and scrolling while holding :kbd:`Ctrl`. 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) +* 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/dockers/timeline.rst b/reference_manual/dockers/timeline.rst index 499ac9449..92635520c 100644 --- a/reference_manual/dockers/timeline.rst +++ b/reference_manual/dockers/timeline.rst @@ -1,123 +1,123 @@ .. meta:: :description: Overview of the timeline docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Dmitry Kazakov - Emmet O'Neill :license: GNU free documentation license 1.3 or later. .. index:: Animation, Timeline, Frame .. _timeline_docker: =============== Timeline Docker =============== The **Timeline Docker** works in tandem with the :ref:`animation_docker` at the heart of :program:`Krita`'s animation tools. While the Animation Docker provides access to the fundamental controls for playing back and editing animations, the Timeline Docker contains the layered frames and specific timings that define your animation. In other words, the Timeline Docker is the digital equivalent to a traditional animator's "dope sheet". .. image:: /images/en/Timeline_docker.png :align: center Legend: ------- **A. Layer List --** This area contains some subset of the layers of your current document. The currently active layer is always shown and can be "pinned" to the timeline using the :guilabel:`Show in Timeline` menu action. Also, Layers that are created via the Timeline or added using the :guilabel:`Add Existing Layer` submenu are automatically pinned to the timeline. Each layer has properties that can also be toggled here (visible, locked, show onion skins, etc.). * **Active Layer** A highlighted row in the table show the currently active layer. One can change which layer is active by clicking on the layer's name within the left header. It is *not* possible to change active layer by clicking inside the table in order to not disturb the user when scrubbing and editing frame positions on the timeline. **B. Frame Table --** The Frame Table is a large grid of cells which can either hold a single frame or be empty. Each row of the Frame Table represents an *animation layer* and each column represents a *frame timing*. Just like the Layer List, the active layer is highlighted across the entire Frame Table. It's important to understand that frame timings are not based on units of time like seconds, but are based on frames which can then be played back at any speed, depending on the :ref:`animation_docker`'s *frame rate* and *play speed* settings. - Frames can be moved around the timeline by simply left-clicking and dragging from one frame to another slot, even across layers. Furthermore, holding :kbd:`ctrl` while moving creates a copy. Right-clicking anywhere in the Frame Table will bring up a helpful context menu for adding, removing, copying, and pasting frames or adjusting timing with holds. + Frames can be moved around the timeline by simply left-clicking and dragging from one frame to another slot, even across layers. Furthermore, holding :kbd:`Ctrl` while moving creates a copy. Right-clicking anywhere in the Frame Table will bring up a helpful context menu for adding, removing, copying, and pasting frames or adjusting timing with holds. * **Current Selection:** Frames highlighted in orange represent a selection or multiple selections, which can be created by mouse or keyboard. While multiple frames are selected, right-clicking anywhere in the Frame Table will bring up a context menu that will allow for adding or removing frames or holds within the currently selection. Finally, it is also possible to have multiple non-contiguous/separate selections if needed. *WARNING:* Painting always happens only in the *active frame* (represented by a small dot), which is not necessarily part of your current selection. * **Keys, Blanks, and Holds:** The Timeline Docker now shows us even more useful information about both what is there as well as what is not. **Key frames** which contain drawings are still displayed as *filled blocks* within a cell, while **blank** or empty key frames are shown as a *hollow outline*. In Krita, every drawn frame is automatically held until the next frame; these **holds** are now clearly shown with a *colored line* across all held frames. The color of frames can be set per-frame by the animator using the right-click menu, and is a matter of personal workflow. **C. Frame Timing Header --** The Frame Timing Header is a ruler at the top of the Frame Table. This header is divided into small notched sections which are based on the current *frame rate* (set in the :ref:`animation_docker`). Integer multiples of the frame rate have a subtle double-line mark, while smaller subdivisions have small single-line marks. Each major notch is marked with a helpful *frame number*. * **Cached Frames:** The Frame Timing Header also shows important information about which frames are currently *cached*. When something is said to be "cached", that means that it is stored in your device's working memory (RAM) for extra fast access. Cached frames are shown by the header with a small light-gray rectangle in each column. While this information isn't always critical for us artists, it's helpful to know that Krita is working behind the curtains to cache our animation frames for the smoothest possible experience when scrubbing through or playing back your animation. **D. Current Time Scrubber --** A highlighted column in the Frame Table which controls the current frame time and, as such, what is currently displayed in the viewport. * **Active Frame:** A frame of the *active layer* at the *current time* position. The active frame is always marked with a small circle inside. All drawing, painting, and image editing operations happen on this frame only! *WARNING:* Don't mix the active frame up with the current selection! **E. Layer Menu --** A small menu for manipulating animation layers. You can create new layers, add or remove existing ones, and you can set 'Show in Timeline' here to pin the active layer to the Timeline. (This menu also shows up when right-clicking on layers inside of the Layer List.) **F. Audio Menu:** Another small menu for animating along with audio sources. This is where you can open or close audio sources and control output volume/muting. **G. Zoom Handle:** This allows you to zoom in and out on the Frame Table, centered around the current frame time. Click-dragging starting on the zoom handle controls the zoom level. Usage: ------ How to use the Timeline Docker is not immediately obvious because :program:`Krita` doesn't automatically create a key frame out of your initial drawing. In fact, *until you make a key frame on a layer*, Krita assumes that there's no animation going on at all on that layer and it will keep the image static over the whole animation. So, to make our first *animated layer*, we need to make a key frame! |mouseright| any square on the timeline docker and select :guilabel:`Create Blank Frame`. A blank frame (one that you haven't yet drawn anything in) appears as a *hollow outline* instead of a solid box, making that frame active and drawing on the canvas will make it appear as a *solid, colored rectangle*. To keep a layer visible in the Timeline Docker regardless of which layer is selected, select the layer in the Layers Docker so it shows up in the docker, then |mouseright| it within the Timeline Docker's Layer List and select :guilabel:`Show in Timeline`. This way you can choose which layers are important and which are only minor. You can drag and drop the frame around to a different empty frame slot. To add a single new frame, either right-click on an empty frame slot and select :guilabel:`Create Blank Frame` to create a fresh blank frame, or select :guilabel:`Create Duplicate Frame` to create a new copy of the previous frame. You can also change the color of frames so that you can easily identify important frames or distinguish between different sections of your animation. The current color selection is remembered for new frames so that you can easily make a set of colored frames and then switch to another color. -It's also possible to add multiple key frames by right-clicking inside the Frame Table and selecting :guilabel:`Keyframes>Insert Multiple Keyframes`. With this option you can specify a number of frames to add with the option of built in timing for quickly creating a series of 1s, 2s, 3s, etc. These settings are saved between uses. +It's also possible to add multiple key frames by right-clicking inside the Frame Table and selecting :menuselection:`Keyframes --> Insert Multiple Keyframes`. With this option you can specify a number of frames to add with the option of built in timing for quickly creating a series of 1s, 2s, 3s, etc. These settings are saved between uses. -Instead of the Frame Table, right-clicking within the Frame Timing Header gives you access to a few more options which allow you to add or remove entire columns of frames or holds at a time. For example, selecting :guilabel:`Keyframe Columns>Insert Keyframe Column Left` will add new frames to each layer that's currently visible in the Timeline Docker. +Instead of the Frame Table, right-clicking within the Frame Timing Header gives you access to a few more options which allow you to add or remove entire columns of frames or holds at a time. For example, selecting :menuselection:`Keyframe Columns --> Insert Keyframe Column Left` will add new frames to each layer that's currently visible in the Timeline Docker. .. image:: /images/en/Timeline_insertkeys.png :align: center :program:`Krita` only tracks key frame changes. This is unlike :program:`Flash` where you have to manually indicate how long a key frame will hold. Instead, :program:`Krita` just assumes that the space between key frame 1 and key frame 2 is supposed to be filled with key frame 1. Frames that are held in this way (a.k.a. "holds") are displayed as a continuous line in the Frame Table. To delete frames, |mouseright| the frame and press :guilabel:`Remove Keyframes`. This will delete all selected frames. Similarly, selecting :guilabel:`Remove Frames and Pull` will delete the selected frames and pull or shift all subsequent frames back/left as much as possible. To manually play your animation back and forward using your mouse, a concept called *scrubbing*, you click-drag within the Frame Timing Header. GUI Actions: ------------ #. **Layer List** * |mouseleft| : Select active layer. * |mouseright| : Layers Menu (add/remove/show layers, etc.). #. **Frame Timing Header** * |mouseleft| : Move to time and select frame of the active layer. * |mouseleft| :kbd:`drag` : Scrub through time and select frame of the active layer. * |mouseright| : Frame Columns Menu (insert/remove/copy/paste columns and hold columns). #. **Frames Table: all** * |mouseleft| : Selects a single frame or slot and switches time, but *does not switch active layer*. - * :kbd:`space` + |mouseleft| : Pan. - * :kbd:`space` + |mouseright| : Zoom. + * :kbd:`Space` + |mouseleft| : Pan. + * :kbd:`Space` + |mouseright| : Zoom. #. **Frames Table (On Empty Slot).** * |mouseright| : Frames menu (insert/copy/paste frames and insert/remove holds). * |mouseleft| + :kbd:`drag` : Select multiple frames and switch time to the last selected, but *does not switch active layer*. - * :kbd:`shift` + |mouseleft| : Select all frames between the active and the clicked frame. - * :kbd:`ctrl` + |mouseleft| : Select individual frames together. :kbd:`click+drag` them into place. + * :kbd:`Shift` + |mouseleft| : Select all frames between the active and the clicked frame. + * :kbd:`Ctrl` + |mouseleft| : Select individual frames together. :kbd:`click+drag` them into place. #. **Frames Table (On Existing Frame)** * |mouseright| : Frames menu (remove/copy/paste frames and insert/remove holds). * |mouseleft| + :kbd:`drag` : *Move* a frame or multiple frames. - * :kbd:`ctrl` + |mouseleft| :kbd:`drag` : Copy a frame or multiple frames. - * :kbd:`alt` + :kbd:`drag` : Move selected frame(s) and *all* the frames to the right of it. (This is useful for when you need to clear up some space in your animation, but don't want to select all the frame to the right of a particular frame!) + * :kbd:`Ctrl` + |mouseleft| :kbd:`drag` : Copy a frame or multiple frames. + * :kbd:`Alt` + :kbd:`drag` : Move selected frame(s) and *all* the frames to the right of it. (This is useful for when you need to clear up some space in your animation, but don't want to select all the frame to the right of a particular frame!) diff --git a/reference_manual/filters/adjust.rst b/reference_manual/filters/adjust.rst index 00d7db6bb..de5c24dd5 100644 --- a/reference_manual/filters/adjust.rst +++ b/reference_manual/filters/adjust.rst @@ -1,196 +1,196 @@ .. meta:: :description: Overview of the adjust filters. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Filters .. _adjust_filters: ====== Adjust ====== The Adjustment filters are image-wide and are for manipulating colors and contrast. .. index:: Dodge Dodge ----- An image-wide dodge-filter. Dodge is named after a trick in traditional dark-room photography that gave the same results. .. image:: /images/en/Dodge-filter.png Shadows The effect will mostly apply to dark tones. Midtones The effect will apply to mostly midtones. Highlights This will apply the effect on the highlights only. Exposure The strength at which this filter is applied. .. index:: Burn Burn ---- An image-wide burn-filter. Burn is named after a trick in traditional dark-room photography that gave similar results. .. image:: /images/en/Burn-filter.png Shadows The effect will mostly apply to dark tones. Midtones The effect will apply to mostly midtones. Highlights This will apply the effect on the highlights only. Exposure The strength at which this filter is applied. .. index:: Levels Filter Levels ------ This filter allows you to directly modify the levels of the tone-values of an image, by manipulating sliders for highlights, midtones and shadows. you can even set an output and input range of tones for the image.A histogram is displayed to show you the tonal distribution. The default shortcut for levels filter is :kbd:`Ctrl + L` . .. image:: /images/en/Levels-filter.png This is very useful to do an initial cleanup of scanned lineart or greyscale images. If the scanned lineart is light you can slide the black triangle to right to make it darker or if you want to remove the grey areas you can slide the white slider to left. Auto levels is a quick way to adjust tone of an image. If you want to change the settings later you can click on the create filter mask button to add the levels as a filter mask. .. index:: Color Adjustment Curves, RGB Curves, Curves Filter Color Adjustment Curves ----------------------- This filter allows you to adjust each channel by manipulating the curves. You can even adjust the alpha channel and the lightness channel though this filter. This is used very often by artists as a post processing filter to slightly heighten the mood of the painting by adjust the overall color. For example a scene with fire breathing dragon may be made more red and yellow by adjusting the curves to give it more warmer look, similarly a snowy mountain scene can be made to look cooler by adjusting the blues and greens. The default shortcut for this filter is :kbd:`Ctrl + M` . .. versionchanged:: 4.1 Since 4.1 this filter can also handle Hue and Saturation curves. .. image:: /images/en/Color-adjustment-curve.png .. index:: ! Cross Channel Color Adjustment, Driving Adjustment by channel Cross-channel color adjustment ------------------------------ .. versionadded:: 4.1 Sometimes, when you are adjusting the colors for an image, you want bright colors to be more saturated, or have a little bit of brightness in the purples. The Cross-channel color adjustment filter allows you to do this. At the top, there's two drop downs. The first one is to choose which :guilabel:`Channel` you wish to modify. The :guilabel:`Driver Channel` drop down is what channel you use to control which parts are modified. .. image:: /images/en/cross_channel_filter.png The curve, on the horizontal axis, represents the driver channel, while the vertical axis represent the channel you wish to modify. So if you wish to increase the saturation in the lighter parts, you pick :guilabel:`Saturation` in the first drop down, and :guilabel:`Lightness` as the driver channel. Then, pull up the right end to the top. If you wish to desaturate everything but the teal/blues, you select :guilabel:`Saturation` for the channel and :guilabel:`Hue` for the driver. Then put a dot in the middle and pull down the dots on either sides. Brightness/Contrast curves -------------------------- This filter allows you to adjust the brightness and contrast of the image by adjusting the curves. .. deprecated:: 4.0 These have been removed in Krita 4.0, because the Color Adjustment filter can do the same. Old files with brightness/contrast curves will be loaded as Color Adjustment curves .. index:: ! Color Balance Color Balance ------------- This filter allows you to control the color balance of the image by adjusting the sliders for Shadows, Midtones and Highlights. The default shortcut for this filter is :kbd:`Ctrl + B` . .. image:: /images/en/Color-balance.png .. index:: Saturation, Desaturation, Gray Desaturate ---------- Image-wide desaturation filter. Will make any image Greyscale. Has several choices by which logic the colors are turned to grey. The default shortcut for this filter is :kbd:`Ctrl + Shift + U` . .. image:: /images/en/Desaturate-filter.png Lightness This will turn colors to grey using the HSL model. -Luminosity(ITU-R BT.709) +Luminosity (ITU-R BT.709) Will turn the color to grey by using the appropriate amount of weighting per channel according to ITU-R BT.709. -Luminosity(ITU-R BT.601) +Luminosity (ITU-R BT.601) Will turn the color to grey by using the appropriate amount of weighting per channel according to ITU-R BT.601. Average Will make an average of all channels. Min Subtracts all from one another to find the grey value. Max Adds all channels together to get a grey-value .. index:: Invert, Negative Invert ------ -This filter like the name suggests inverts the color values in the image.So white (1,1,1) becomes black(0,0,0), yellow(1,1,0) becomes blue(0,1,1), etc. -The default shortcut for this filter is :kbd:`Ctrl + I` . +This filter like the name suggests inverts the color values in the image.So white (1,1,1) becomes black (0,0,0), yellow (1,1,0) becomes blue (0,1,1), etc. +The default shortcut for this filter is :kbd:`Ctrl + I`. .. index:: Contrast Auto Contrast ------------- Tries to adjust the contrast the universally acceptable levels. .. index:: Hue, Saturation, Lightness, Value, Brightness, Chroma HSV/HSL Adjustment ------------------ With this filter, you can adjust the Hue, Saturation, Value or Lightness, through sliders. The default shortcut for this filter is :kbd:`Ctrl + U` . .. image:: /images/en/Hue-saturation-filter.png .. index:: Threshold, Black and White Threshold --------- A simple black and white threshold filter that uses sRGB luminosity. It'll convert any image to a image with only black and white, with the input number indicating the threshold value at which black becomes white. .. index:: ASC CDL, Slope Offset Power Curves Slope, Offset, Power -------------------- A different kind of color balance filter, with three color selectors, which will have the same shape as the one used in settings. This filter is particular because it has been defined by the American Society for Cinema as "ASC_CDL", meaning that it is a standard way of describing a color balance method. .. image:: /images/en/Krita_filters_asc_cdl.png :width: 800 :align: center Slope This represents a multiplication and determine the adjustment of the brighter colors in an image. Offset This determines how much the bottom is offset from the top, and so determines the color of the darkest colors. Power This represents a power function, and determines the adjustment of the mid-tone to dark colors of an image. diff --git a/reference_manual/filters/artistic.rst b/reference_manual/filters/artistic.rst index 71a4a7a1a..a7ef9cfe8 100644 --- a/reference_manual/filters/artistic.rst +++ b/reference_manual/filters/artistic.rst @@ -1,84 +1,84 @@ .. meta:: :description: Overview of the artistic filters. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Filters, Halftone, HD Index Painting .. _artistic_filters: ======== Artistic ======== The artistic filter are characterised by taking an input, and doing a deformation on them. Halftone -------- .. image:: /images/en/Krita_halftone_filter.png The halftone filter is a filter that converts the colors to a halftone dot pattern. Colors The colors used to paint the pattern. The first is the color of the dots, the second the color of the background. Size The size of the cell in pixels. The maximum dot size will be using the diagonal as the cell size to make sure you can have pure black. Angle The angle of the dot pattern. Invert This inverts the intensity calculated per dot. Thus, dark colors will give tiny dots, and light colors big dots. This is useful in combination with inverting the colors, and give a better pattern on glowy-effects. Anti-aliasing This makes the dots smooth, which is good for webgraphics. Sometimes, for print graphics, we want there to be no grays, so we turn off the anti-aliasing. Index Color ----------- The index color filter maps specific user selected colors to the grey scale value of the artwork. You can see the example below, the strip below the black and white gradient has index color applied to it so that the black and white gradient gets the color selected to different values. .. image:: /images/en/Gradient-pixelart.png You can choose the required colors and ramps in the index color filter dialog as shown below .. image:: /images/en/Index-color-filter.png You can create index painting such as one shown below with the help of this filter .. image:: /images/en/Kiki-pixel-art.png Pixelize -------- Makes the input-image pixely by creating small cells and inputting an average color. .. image:: /images/en/Pixelize-filter.png Raindrops --------- Adds random raindrop-deformations to the input-image. Oilpaint -------- Does semi-posterisation to the input-image, with the 'brush-size' determining the size of the fields. .. image:: /images/en/Oilpaint-filter.png Brush-size Determines how large the individual patches are. The lower, the more detailed. Smoothness Determines how much each patch's outline is smoothed out. Posterize --------- -This filter decreases the amount of colors in an image. It does this per component(channel). +This filter decreases the amount of colors in an image. It does this per component (channel). .. image:: /images/en/Posterize-filter.png The :guilabel:`steps` parameter determines how many colors are allowed per component. diff --git a/reference_manual/filters/colors.rst b/reference_manual/filters/colors.rst index 86873109d..285b64934 100644 --- a/reference_manual/filters/colors.rst +++ b/reference_manual/filters/colors.rst @@ -1,60 +1,60 @@ .. meta:: :description: Overview of the color filters. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Filters .. _color_filters: ===== Color ===== Similar to the Adjust filters, the color filter are image wide color operations. .. index:: ! Color to Alpha .. _filter_color_to_alpha: Color to Alpha -------------- -This filter allows you to make one single color transparent(alpha). By default when you run this filter white is selected, you can choose a color that you want to make transparent from the color selector +This filter allows you to make one single color transparent (alpha). By default when you run this filter white is selected, you can choose a color that you want to make transparent from the color selector .. image:: /images/en/Color-to-alpha.png The Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors. For example, with threshold set to 255, and the removed color set to white, a 50% grey will be considered a mixture of black+white, and thus transformed in a 50% transparent black. .. image:: /images/en/Krita-color-to-alpha.png :align: center This filter is really useful in separating line-art from the white background. .. _filter_color_transfer: Color Transfer -------------- This filter converts the colors of the image to colors from the reference image. This is a quick way to change a color combination of an artwork to an already saved image or a reference image. .. image:: /images/en/Color-transfer.png .. _filter_maximize_channel: Maximize Channel ---------------- This filter checks for all the channels of a each single color and set all but the highest value to 0. .. _filter_minimize_channel: Minimize Channel ---------------- This is reverse to Maximise channel, it checks all the channels of a each single color and sets all but the lowest to 0. diff --git a/reference_manual/filters/edge_detection.rst b/reference_manual/filters/edge_detection.rst index 8de6d93d2..6fd7e3964 100644 --- a/reference_manual/filters/edge_detection.rst +++ b/reference_manual/filters/edge_detection.rst @@ -1,93 +1,93 @@ .. meta:: :description: Overview of the edgedetection filters. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Edge Detection, Sobel, Prewitt .. _edge_detection_filters: ============== Edge Detection ============== Edge detection filters focus on finding sharp contrast or border between colors in an image to create edges or lines. Since 4.0 there's only two edge detection filters. Edge Detection -------------- .. versionadded:: 4.0 A general edge detection filter that encapsulates all other filters. Edge detection filters that were separate before 4.0 have been folded into this one. It is also available for filter layers and filter brushes. .. figure:: /images/en/Krita_4_0_edge_detection.png :align: center :figwidth: 800 From left to right: Original, with prewitt edge detection applied, with prewitt edge detection applied and result applied to alpha channel, and finally the original with an edge detection filter layer with the same settings as 3, and the filter layer blending mode set to multiply Formula The convolution kernel formula for the edge detection. The difference between these is subtle, but still worth experimenting with. Simple A Kernel that is not square unlike the other two, and while this makes it fast, it doesn't take diagonal pixels into account. Prewitt A square kernel that includes the diagonal pixels just as strongly as the orthogonal pixels. Gives a very strong effect. Sobol A square kernel that includes the diagonal pixels slightly less strong than the orthogonal pixels. Gives a more subtle effect than Prewitt. Output The output. All sides Convolves the edge detection into all directions and combines the result with the Pythagorean theorem. This will be good for most uses. Top Edge This only detects changes going from top to bottom and thus only has top lines. Bottom Edge This only detects changes going from bottom to top and thus only has bottom lines. Right Edge This only detects changes going from right to left and thus only has right lines. Left Edge This only detects changes going from left to right and thus only has left lines. Direction in Radians This convolves into all directions and then tries to output the direction of the line in radians. Horizontal/Vertical radius The radius of the edge detection. Default is 1 and going higher will increase the thickness of the lines. Apply result to Alpha Channel. The edge detection will be used on a grayscale copy of the image, and the output will be onto the alpha channel of the image, meaning it will output lines only. .. index:: Height Map, Normal Map Height to Normal Map -------------------- .. versionadded:: 4.0 .. image:: /images/en/Krita_4_0_height_to_normal_map.png :align: center A filter that converts Height maps to Normal maps through the power of edge detection. It is also available for the filter layer or filter brush. Formula The convolution kernel formula for the edgedetection. The difference between these is subtle, but still worth experimenting with. Simple A Kernel that is not square unlike the other two, and while this makes it fast, it doesn't take diagonal pixels into account. Prewitt A square kernel that includes the diagonal pixels just as strongly as the orthogonal pixels. Gives a very strong effect. Sobol A square kernel that includes the diagonal pixels slightly less strong than the orthogonal pixels. Gives a more subtle effect than Prewitt. Channel Which channel of the layer should be interpreted as the grayscale heightmap. Horizontal/Vertical radius The radius of the edge detection. Default is 1 and going higher will increase the strength of the normal map. Adjust this if the effect of the resulting normal map is too weak. XYZ - An XYZ swizzle, that allows you to map Red, Green and Blue to different 3d normal vector coordinates. This is necessary mostly for the difference between Mikkt-space normal maps(+X, +Y, +Z) and the OpenGL standard normal map(+X, -Y, +Z). + An XYZ swizzle, that allows you to map Red, Green and Blue to different 3d normal vector coordinates. This is necessary mostly for the difference between Mikkt-space normal maps (+X, +Y, +Z) and the OpenGL standard normal map (+X, -Y, +Z). diff --git a/reference_manual/filters/emboss.rst b/reference_manual/filters/emboss.rst index 93b07b11c..fffac27d4 100644 --- a/reference_manual/filters/emboss.rst +++ b/reference_manual/filters/emboss.rst @@ -1,49 +1,49 @@ .. meta:: :description: Overview of the emboss filters. .. metadata-placeholder :authors: - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Filters, Emboss .. _emboss_filters: ====== Emboss ====== Filters that are named by the traditional embossing technique. This filter generates highlight and shadows to create an effect which makes the image look like embossed. Emboss filters are usually used in the creation of interesting GUI elements, and mostly used in combination with filter-layers and masks. Emboss Horizontal Only ---------------------- Only embosses horizontal lines. Emboss in all Directions ------------------------ Embosses in all possible directions. -Emboss(Laplacian) ------------------ +Emboss (Laplacian) +------------------ Uses the laplacian algorithm to perform embossing. Emboss Vertical Only -------------------- Only embosses horizontal lines. Emboss with Variable depth -------------------------- Embosses with a depth that can be set through the dialog box shown below. .. image:: /images/en/Emboss-variable-depth.png Emboss Horizontal and Vertical ------------------------------ Only embosses horizontal and vertical lines. diff --git a/reference_manual/filters/map.rst b/reference_manual/filters/map.rst index e767e7c7e..0dca0e623 100644 --- a/reference_manual/filters/map.rst +++ b/reference_manual/filters/map.rst @@ -1,57 +1,57 @@ .. meta:: :description: Overview of the map filters. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Filters .. _map_filters: === Map === Filters that are signified by them mapping the input image. .. index:: Small Tiles, Tiles Small Tiles ----------- Tiles the input image, using it's own layer as output. .. index:: Height Map, Bumpmap, Normal Map Phong Bumpmap ------------- .. image:: /images/en/Krita-normals-tutoria_4.png Uses the input image as a height-map to output a 3d something, using the phong-lambert shading model. Useful for checking one's height maps during game texturing. Checking the :guilabel:`Normal Map` box will make it use all channels and interpret them as a normal map. Round Corners ------------- Adds little corners to the input image. .. index:: Normalize Normalize --------- -This filter takes the input pixels, puts them into a 3d vector, and then normalizes(makes the vector size exactly 1) the values. This is helpful for normal maps and some minor image-editing functions. +This filter takes the input pixels, puts them into a 3d vector, and then normalizes (makes the vector size exactly 1) the values. This is helpful for normal maps and some minor image-editing functions. .. index:: Gradient, Gradient Map Gradient Map ------------ .. image:: /images/en/Krita_filter_gradient_map.png Maps the lightness of the input to the selected gradient. Useful for fancy artistic effects. In 3.x you could only select predefined gradients. In 4.0, you can select gradients and change them on the fly, as well as use the gradient map filter as a filter layer or filter brush. diff --git a/reference_manual/instant_preview.rst b/reference_manual/instant_preview.rst index 256d6d067..aa7ad9aa9 100644 --- a/reference_manual/instant_preview.rst +++ b/reference_manual/instant_preview.rst @@ -1,58 +1,58 @@ .. meta:: :description: How the Instant Preview technology in Krita works. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Instant Preview, Performance, Lag .. _instant_preview: =============== Instant Preview =============== -Instant Preview(Previously known under the code name Level Of Detail/LOD strokes) is Krita's special speed-up mechanism that was funded by the 2015 Kickstarter. Krita slows down with really large images due to the large amount of data it's crunching in painting these images. Instant Preview works by taking a smaller version of the canvas, and drawing the feedback on there while Krita calculates the real stroke in the background. This means that if you have a 4k screen and are working on a 4k image at 100% zoom, you won't feel any speed up. +Instant Preview (previously known under the code name Level Of Detail/LOD strokes) is Krita's special speed-up mechanism that was funded by the 2015 Kickstarter. Krita slows down with really large images due to the large amount of data it's crunching in painting these images. Instant Preview works by taking a smaller version of the canvas, and drawing the feedback on there while Krita calculates the real stroke in the background. This means that if you have a 4k screen and are working on a 4k image at 100% zoom, you won't feel any speed up. Activating Instant Preview -------------------------- .. warning:: - Instant Preview requires OpenGL 3.0 support at minimum. So if you don't have :guilabel:`high-quality` scaling available in :menuselection:`settings --> configure Krita --> display --> display scaling filter`, then you won't be able to use Instant Preview either. + Instant Preview requires OpenGL 3.0 support at minimum. So if you don't have :guilabel:`high-quality` scaling available in :menuselection:`Settings --> Configure Krita --> Display --> Display scaling filter`, then you won't be able to use Instant Preview either. .. figure:: /images/en/Lod_position.png :align: right The Global Instant Preview toggle is under the view menu -Instant Preview is activated in two places: The view menu(:kbd:`Shift + L`), and the settings of the given paintop by default. This is because Instant Preview has different limitations with different paint operations. +Instant Preview is activated in two places: The view menu (:kbd:`Shift + L`), and the settings of the given paintop by default. This is because Instant Preview has different limitations with different paint operations. For example, the overlay mode in the color smudge brush will disable the ability to have Instant Preview on the brush, so does using 'fade' sensor for size. Similarly, the auto-spacing, fuzzy sensor in size, use of density in brush-tip and the use of texture paintops will make it more difficult to determine a stroke, and thus will give a feeling of 'popping' when the stroke is finished. When you check the brush settings, the Instant Preview checkbox will have a \* behind it. Hovering over it will give you a list of options that are affecting the Instant Preview mode. .. versionadded:: 4.0 |mouseleft| this pop-up will give a slider, which can be used to determine the threshold size at which instant preview activates. By default this 100px. This is useful for brushes that are optimised to work on small sizes. .. figure:: /images/en/Lod_position2.png :figwidth: 500 :align: center The Instant Preview checkbox at the bottom of the brush settings editor will give you feedback when there's settings active that can't be previewed right. Hover over it to get more detail. In this case, the issue is that auto-spacing is on. Tools that benefit from Instant Preview --------------------------------------- The following tools benefit from Instant Preview: * The Freehand brush tool. * The geometric tools. * The Move Tool. * The Filters. * Animation. diff --git a/reference_manual/layers_and_masks/file_layers.rst b/reference_manual/layers_and_masks/file_layers.rst index 41b7fe2c8..4992ed8ab 100644 --- a/reference_manual/layers_and_masks/file_layers.rst +++ b/reference_manual/layers_and_masks/file_layers.rst @@ -1,38 +1,38 @@ .. meta:: :description: How to use file layers in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Alan :license: GNU free documentation license 1.3 or later. .. index:: Layers, File Layers, External File .. _file_layers: =========== File Layers =========== File Layers are references to files outside of the document: If the referenced document updates, the file layer will update. Do not remove the original file on your computer once you add it to Krita. Deleting your original image will break the file layer. If Krita cannot find the original file, it'll ask you where to find it. File layers cannot display animations. File Layers have the following scaling options: No Scaling This'll import the file layer with the full pixel-size. Scale to Image Size Scales the file layer to fit exactly within the canvas boundaries of the image. Adapt to image resolution - If the imported layer and the image have a different resolution, it'll scale the filelayer by scaling it's resolution. In other words, import a 600dpi A4 image onto a 300dpi A4 image, and the filelayer will be scaled to fit precisely on the 300dpi image. Useful for comics, where the ink-layer is preferred to be at a higher resolution than the colors. + If the imported layer and the image have a different resolution, it'll scale the filelayer by scaling its resolution. In other words, import a 600dpi A4 image onto a 300dpi A4 image, and the filelayer will be scaled to fit precisely on the 300dpi image. Useful for comics, where the ink-layer is preferred to be at a higher resolution than the colors. File Layers can currently not be painted on. If you want to transform a file layer, you need to apply a transformation mask to it and use that. .. versionadded:: 3.3 In the layerdocker, next to the file layer only, there's a little folder icon. Pressing that will open the file pointed at in Krita if it hadn't yet. Using the properties you can make the file layer point to a different file. .. versionadded:: 4.0 You can turn any set of layers into a file layer by right-clicking them and doing :menuselection:`convert --> convert to file layer`. It will then open a save prompt for the file location and when done will save the file and replace the layer with a file layer pointing at that file. diff --git a/reference_manual/layers_and_masks/selection_masks.rst b/reference_manual/layers_and_masks/selection_masks.rst index 092ed17a3..8ae26bc7a 100644 --- a/reference_manual/layers_and_masks/selection_masks.rst +++ b/reference_manual/layers_and_masks/selection_masks.rst @@ -1,37 +1,37 @@ .. meta:: :description: How to use selection masks in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Lundin - Bugsbane - Alan - Boudewijn :license: GNU free documentation license 1.3 or later. .. index:: Layers, Masks, Selections .. _selection_masks: =============== Selection Masks =============== Local Selection masks let you remember and recall edit a selection on a layer. They work in a similar way to extra channels in other image editing programs. One difference is :program:`Krita's` ability to assign them to specific layers and activate a selection with a single click on the layer. Just click the round icon with the dotted outline on the local selection layer in the Layers docker. You can make them by making a selection, and |mouseright| the layer you want to add it to select :menuselection:`Local Selection` -When isolating a selection mask with :kbd:`alt` + |mouseleft|, you can perform transformation, deformation and paint operations on the selection layer, modifying the selection. +When isolating a selection mask with :kbd:`Alt` + |mouseleft|, you can perform transformation, deformation and paint operations on the selection layer, modifying the selection. A single layer can contain multiple Local Selection Masks. Repeating. A single layer can contain multiple Local Selection Masks (LSM). This is important because it means that you can, for instance, several different outline parts of an image and save each as its own LSM and then recall it with a single click. Without using LSM you would have to create layer upon layer for each mask. Not only would this be inefficient for you but also for Krita and the program would slow down trying to keep up with it all. LSM's are one of the most important features in Krita! The example below shows three LSM items all attached (under) Layer1. Any of these can be activated and used at any time. Global Selection ---------------- You can modify the global selection the same way you can with a local-selection. To do so, you first need to activate the global selection as a layer node. To do so, go into :menuselection:`Select --> Show global selection`. The global selection, if you have anything selected, will now appear on the top of the layer stack as a selection mask. You can see these elements in the example above. diff --git a/reference_manual/main_menu/edit_menu.rst b/reference_manual/main_menu/edit_menu.rst index 863781497..fcf576a2c 100644 --- a/reference_manual/main_menu/edit_menu.rst +++ b/reference_manual/main_menu/edit_menu.rst @@ -1,66 +1,66 @@ .. meta:: :description: The edit menu in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Edit, Undo, Redo, Cut, Copy, Paste .. _edit_menu: ==== Edit ==== .. glossary:: Undo Undoes the last action. :kbd:`Ctrl + Z` Redo Redoes the last undone action. :kbd:`Ctrl + shift+ Z` Cut Cuts the selection or layer. :kbd:`Ctrl + X` Copy Copies the selection or layer. :kbd:`Ctrl + C` - Cut(Sharp) + Cut (Sharp) This prevents semi-transparent areas from appearing on your cut pixels, making them either fully opaque or fully transparent. - Copy(Sharp) - Same as :term:`Cut(Sharp)` but then copying instead. + Copy (Sharp) + Same as :term:`Cut (Sharp)` but then copying instead. Copy Merged Copies the selection over all layers. :kbd:`Ctrl + Shift + C` Paste Pastes the copied buffer into the image as a new layer. :kbd:`Ctrl + V` Paste at Cursor Same as :term:`paste`, but aligns the image to the cursor. Paste into new image Pastes the copied buffer into a new image. Clear Clear the current layer. :kbd:`Del` Fill with Foreground Colour Fills the layer or selection with the foreground color. :kbd:`Shift + Backspace` Fill with Background Colour Fills the layer or selection with the background color. :kbd:`Backspace` Fill with pattern Fills the layer or selection with the active pattern. Stroke Selected Shapes Strokes the selected vector shape with the selected brush, will create a new layer. Stroke Selection Strokes the active selection using the menu. diff --git a/reference_manual/main_menu/layers_menu.rst b/reference_manual/main_menu/layers_menu.rst index b36bed7e5..3de57cb53 100644 --- a/reference_manual/main_menu/layers_menu.rst +++ b/reference_manual/main_menu/layers_menu.rst @@ -1,140 +1,140 @@ .. meta:: :description: The layers menu in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Layers, Cut Layer, Copy Layer, Paste Layer, Convert, Import, Export, Transform, Metadata, Histogram, Flatten, Layer Style .. _layers_menu: ====== Layers ====== These are the topmenu options are related to Layer Management, check out that page first, if you haven't. -Cut Layer(3.0+) +Cut Layer (3.0+) Cuts the whole layer rather than just the pixels. -Copy Layer(3.0+) +Copy Layer (3.0+) Copy the whole layer rather than just the pixels. -Paste Layer(3.0+) +Paste Layer (3.0+) Pastes the whole layer if any of the top two actions have been taken. New Organizes the following actions: Paint Layer Add a new paint layer - New layer from visible(3.0.2+) + New layer from visible (3.0.2+) Add a new layer with the visible pixels. Duplicate Layer or Mask Duplicates the layer. Cut Selection to New Layer Single action for cut+paste Copy Selection to New Layer Single action for copy+paste Import/Export Organizes the following actions: Save Layer or Mask Saves the Layer or Mask as a separate image. Save Vector Layer as SVG Save the currently selected vector layer as an SVG. Save Group Layers Saves the top-level group layers as single-layer images. Import Layer Import an image as a layer into the current file. Import as... Import an image as a specific layer type. The following layer types are supported: * Paint layer * Transparency Mask * Filter Mask * Selection Mask Convert Organizes the following actions: Convert a layer to... Convert to Paint Layer Convert a mask or vector layer to a paint layer. Transparency Mask Convert a layer to a transparency mask. The image will be converted to grayscale first, and these grayscale values are used to drive the transparency. Filter Mask Convert a layer to a filter mask. The image will be converted to grayscale first, and these grayscale values are used to drive the filter effect area. Selection Mask Convert a layer to a selection mask. The image will be converted to grayscale first, and these grayscale values are used to drive the selected area. Convert Group to Animated Layer This takes the images in the group layer and makes them into frames of an animated layer. Convert Layer Color Space This only converts the color space of the layer, not the image. -Select(3.0+): +Select (3.0+): Organizes the following actions: All layers Select all layers. Visible Layers Select all visible layers. Invisible Layers Select all invisible layers, useful for cleaning up a sketch. Locked Layers Select all locked layers. Unlocked Layers Select all unlocked layers. Group Organizes the following actions: - Quick Group(3.0+) + Quick Group (3.0+) Adds all selected layers to a group. - Quick Clipping Group(3.0+) + Quick Clipping Group (3.0+) Adds all selected layers to a group and adds a alpha-inherited layer above it. Quick Ungroup Ungroups the activated layer. Transform Organizes the following actions: Mirror Layer Horizontally Mirror the layer horizontally using the image center. Mirror Layer Vertically Mirror the layer vertically using the image center. Rotate Rotate the layer around the image center. Scale Layer Scale the layer by the given amounts using the given interpolation filter. Shear Layer Shear the layer pixels by the given X and Y angles. Offset Layer Offset the layer pixels by a given amount. Split... Organizes the following actions: Split Alpha Split the image transparency into a mask. This is useful when you wish to edit the transparency separately. Split Layer Split the layer into given color fields. Clones Array A complex bit of functionality to generate clone-layers for quick sprite making. Edit Metadata Each layer can have it's own meta-data. Histogram Shows a histogram. Merge With Layer Below Merge a layer down. Flatten Layer Flatten a Group Layer or flatten the masks into any other layer. Rasterize Layer For making vectors into raster layers. Flatten Image Flatten all layers into one. -Layerstyle(2.9.5+) +Layerstyle (2.9.5+) Set the PS-style layerstyle diff --git a/reference_manual/preferences/performance_settings.rst b/reference_manual/preferences/performance_settings.rst index 30db78680..4ad698d15 100644 --- a/reference_manual/preferences/performance_settings.rst +++ b/reference_manual/preferences/performance_settings.rst @@ -1,120 +1,120 @@ .. meta:: :description: Performance settings in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Preferences, Settings, Performance, Multithreading, RAM, Memory Usage, Lag .. _performance_settings: ==================== Performance Settings ==================== :program:`Krita`, as a painting program, juggles a lot of data around, like the brushes you use, the colours you picked, but primarily, each pixel in your image. Due to this, how :program:`Krita` organises where it stores all the data can really speed up :program:`Krita` while painting, just like having an organised artist's workplace can really speed up the painting process in real life. These preferences allow you to configure :program:`Krita's` organisation, but all do require you to restart :program:`Krita`, so it can do this organisation properly. RAM --- RAM, or Random Access Memory, is the memory your computer is immediately using. The difference between RAM and the hard drive memory can be compared to the difference between having files on your desk and having files safely stored away in an archiving room: The files on your desk as much easier to access than the ones in your archive, and it takes time to pull new files from the archive. This is the same for you computer and RAM. Files need to be loaded into RAM before the computer can really use them, and storing and removing them from RAM takes time. These settings allow you to choose how much of your virtual desk you dedicate to :program:`Krita`. :program:`Krita` will then reserve them on start-up. This does mean that if you change any of the given options, you need to restart :program:`Krita` so it can make this reservation. Memory Limit This is the maximum space :program:`Krita` will reserve on your RAM on startup. It's both available in percentages and Bytes, so you can specify precisely. :program:`Krita` will not take up more space than this, making it safe for you to run an internet browser or music on the background. Internal Pool - A feature for advanced computer users. This allows :program:`Krita` to organise the area it takes up on the virtual working desk before putting it's data on there. Like how a painter has a standard spot for their canvas, :program:`Krita` also benefits from giving certain data it uses it's place(a memory pool), so that it can find them easily, and it doesn't get lost amongst the other data(memory fragmentation). It will then also not have to spent time finding a spot for this data. + A feature for advanced computer users. This allows :program:`Krita` to organise the area it takes up on the virtual working desk before putting its data on there. Like how a painter has a standard spot for their canvas, :program:`Krita` also benefits from giving certain data it uses it's place (a memory pool), so that it can find them easily, and it doesn't get lost amongst the other data (memory fragmentation). It will then also not have to spent time finding a spot for this data. Increasing this of course means there's more space for this type of data, but like how filling up your working desk with only one big canvas will make it difficult to find room for your paints and brushes, having a large internal pool will result in :program:`Krita` not knowing where to put the other non-specific data. On the opposite end, not giving your canvas a spot at all, will result in you spending more time looking for a place where you will put the new layer or that reference you just took out of the storage. This happens for :program:`Krita` as well, making it slower. This is recommended to be a size of one layer of your image, e.g. if you usually paint on the image of 3000x3000x8bit-ARGB, the pool should be something like 36 MiB. As :program:`Krita` does this on start-up, you will need to restart :program:`Krita` to have this change affect anything. Swap Undo After - :program:`Krita` also needs to keep all the Undo states on the virtual desk(RAM). Swapping means that parts of the files on the virtual desk get sent to the virtual archive room. This allows :program:`Krita` to dedicate more RAM space to new actions, by sending old Undo states to the archive room once it hits this limit. This will make undoing a little slower, but this can be desirable for the performance of :program:`Krita` overall. + :program:`Krita` also needs to keep all the Undo states on the virtual desk (RAM). Swapping means that parts of the files on the virtual desk get sent to the virtual archive room. This allows :program:`Krita` to dedicate more RAM space to new actions, by sending old Undo states to the archive room once it hits this limit. This will make undoing a little slower, but this can be desirable for the performance of :program:`Krita` overall. This too needs :program:`Krita` to be restarted. Swapping -------- File Size Limit - This determines the limit of the total space :program:`Krita` can take up in the virtual archive room. If :program:`Krita` hits the limit of both the memory limit above, and this Swap File limit, it can't do anything any more(and will freeze). + This determines the limit of the total space :program:`Krita` can take up in the virtual archive room. If :program:`Krita` hits the limit of both the memory limit above, and this Swap File limit, it can't do anything any more (and will freeze). Swap File Location - This determines where the Swap File will be stored on you hard-drive. Location can make a difference, for example, Solid State Drives(SSD) are faster than Hard Disk Drives(HDD). Some people even like to use USB-sticks for the swap file location. + This determines where the Swap File will be stored on you hard-drive. Location can make a difference, for example, Solid State Drives (SSD) are faster than Hard Disk Drives (HDD). Some people even like to use USB-sticks for the swap file location. Advanced -------- Multithreading ~~~~~~~~~~~~~~ Since 4.0, Krita supports multithreading for the animation cache and handling the drawing of brush tips when using the pixel brush. CPU Limit The amount of cores you want to allow Krita to use when multithreading. Frame Rendering Clones Limit When rendering animations to frames, Krita multithreads by keeping a few copies of the image, with a maximum determined by the amount of cores your processor has. If you have a heavy animation file and lots of cores, the copies can be quite heavy on your machine, so in that case try lowering this value. Other ~~~~~ Limit frames per second while painting. This makes the canvas update less often, which means Krita can spend more time calculating other things. Some people find fewer updates unnerving to watch however, hence this is configurable. Debuglogging of OpenGL framerate Will show the canvas framerate on the canvas when active. Debug logging for brush rendering speed. Will show numbers indicating how fast the last brush stroke was on canvas. -Disable vector optimisations(For AMD CPUs) +Disable vector optimisations (For AMD CPUs) Vector optimisations are a special way of asking the CPU to do maths, these have names such as SIMD and AVX. These optimisations can make Krita a lt faster when painting, except when you have a AMD CPU under windows. There seems to be something strange going on there, so just deactivate them then. Enable Progress Reporting This allows you to toggle the progress reporter, which is a little feedback progress bar that shows up in the status bar when you let Krita do heavy operations, such as heavy filters or big strokes. The red icon next to the bar will allow you to cancel your operation. This is on by default, but as progress reporting itself can take up some time, you can switch it off here. Performance logging This enables performance logging, which is then saved to the ``Log`` folder in your ``working directory``. Your working directory is where the auto save is saved at as well. So for unnamed files, this is the ``$home`` folder in Linux, and the ``%TEMP%`` folder in windows. Animation Cache --------------- .. versionadded:: 4.1 The animation cache is the space taken up by animation frames in the memory of the computer. A cache in this sense is a cache of precalculated images. Playing back a video at 25 FPS means that the computer has to precalculate 25 images per second of video. Now, video playing software is able to do this because it really focuses on this one single task. However, Krita as a painting program also allows you to edit the pictures. Because Krita needs to be able to do this, and a dedicated video player doesn't, Krita cannot do the same kind of optimizations as a dedicated video player can. Still, an animator does need to be able to see what kind of animation they are making. To do this properly, we need to decide how Krita will regenerate the cache after the animator makes a change. There's fortunately a lot of different options how we can do this. However, the best solution really depends on what kind of computer you have and what kind of animation you are making. Therefore in this tab you can customize the way how and when the cache is generated. Cache Storage Backend ~~~~~~~~~~~~~~~~~~~~~ In-memory - Animation frame cache will be stored in RAM, completely without any limitations. This is also the way it was handled before 4.1. This is only recommended for computers with huge amount of RAM and animations that must show full-canvas full resolution 6k at 25 fps. If you do not have a huge amount(say, 64GiB) of ram, do *not* use this option (and scale down your projects). + Animation frame cache will be stored in RAM, completely without any limitations. This is also the way it was handled before 4.1. This is only recommended for computers with huge amount of RAM and animations that must show full-canvas full resolution 6k at 25 fps. If you do not have a huge amount (say, 64GiB) of ram, do *not* use this option (and scale down your projects). .. warning:: Please make sure your computer has enough RAM *above* the amount you requested in the general tab. Otherwise you might face system freezes. * For 1 second of FullHD @ 25 FPS you will need 200 extra MiB of Memory * For 1 second of 4K UltraHD@ 25 FPS, you will need 800 extra MiB of Memory. On-disk Animation frames are stored in the hard disk in the same folder as the swap file. The cache is stored in a compressed way. A little amount of extra ram is needed. Since data transfer speed of the hard drive is slow. You might want to limit the :guilabel:`Cached Frame Size` to be able to play your video at 25 fps. A limit of 2500 px is usually a good choice. Cache Generation Options ~~~~~~~~~~~~~~~~~~~~~~~~ Limit Cached Frame Size Render scaled down version of the frame if the image is bigger than the provided limit. Make sure you enable this option when using On-Disk storage backend, because On-Disk storage is a little slow. Without the limit, there's a good chance that it will not be able to render at full speed. Lower the size to play back faster at the cost of lower resolution. Use Region Of Interest We technically only need to use the section of the image that is in view. Region of interest represents that section. When the image is above the configurable limit, render only the currently visible part of it. Enable Background Cache Generation - This allows you to set whether the animation is cached for playback in the background(that is, when you're not using the computer). Then, when animation is cached when pressing play, this caching will take less long. However, turning off this automatic caching can save power by having your computer work less. + This allows you to set whether the animation is cached for playback in the background (that is, when you're not using the computer). Then, when animation is cached when pressing play, this caching will take less long. However, turning off this automatic caching can save power by having your computer work less. diff --git a/reference_manual/render_animation.rst b/reference_manual/render_animation.rst index b7ff55915..6da705c79 100644 --- a/reference_manual/render_animation.rst +++ b/reference_manual/render_animation.rst @@ -1,115 +1,115 @@ .. meta:: :description: How to use the render animation command in Krita. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier - Beelzy :license: GNU free documentation license 1.3 or later. .. index:: Animation, Render Animation .. _render_animation: ================ Render Animation ================ Render animation allows you to render your animation to an image sequence, gif, mp4, mkv, or ogg file. It replaces :guilabel:`Export Animation` . For rendering to an animated fileformat, Krita will first render to a png sequence and then use FFMpeg, which is really good at encoding into video files, to render that sequence to an animated fileformat. The reason for this two-step process is that animation files can be really complex and really big, and this is the best way to allow you to keep control over the export process. For example, if your computer has a hiccup, and one frame saves out weird, first saving the image sequence allows you to only resave that one weird frame before rendering. This means that you will need to find a good place to stick your frames before you can start rendering. If you only do throwaway animations, you can use a spot on your hard-drive with enough room and select :guilabel:`Delete Sequence After Rendering` Image Sequence -------------- Base Name The base name of your image sequence. This will get suffixed with a number depending on the frame. File Format The fileformat to export the sequence to. When rendering we enforce png. The usual export options can be modified with :guilabel:`...`. Render Location Where you render the image sequence to. Some people prefer to use a flash-drive or perhaps a harddrive that is fast. First Frame The first frame of the range of frame you wish to adjust. Automatically set to the first frame of your current selection in the timeline. This is useful when you only want to re-render a little part. Last Frame As above, the last frame of the range of frame you wish to adjust. Automatically set to the last frame of your current selection in the timeline. Naming Sequence starts with The frames are named by using :guilabel:`Base Name` above and adding a number for the frame. This allows you to set where the frame number starts, so rendering from 8 to 10 with starting point 3 will give you images named 11 and 15. Useful for programs that don't understand sequences starting with 0, or for precision output. Render Animation ---------------- Render As The file format to render to. All except gif have extra options that can be manipulated via :guilabel:`...`. File Location and name of the rendered animation. FFMpeg - The location where your have ffmpeg. If you don't have this, Krita cannot render an animation. For proper gif support, you will need ffmpeg 2.6, as we use it's palettegen functionality. + The location where your have ffmpeg. If you don't have this, Krita cannot render an animation. For proper gif support, you will need ffmpeg 2.6, as we use its palettegen functionality. Delete Sequence After Rendering Delete the prerendered image sequence after done rendering. This allows you to choose whether to try and save some space, or to save the sequence for when encoding fails. .. warning:: None of the video formats support saving from images with a transparent background, so Krita will try to fill it with something. You should add a background color yourself to avoid it from using, say, black. Setting Up Krita for Exporting Animations ----------------------------------------- You will need to download an extra application and link it in Krita for it to work. The application is pretty big (50MB), so the Krita developers didn't want to bundle it with the normal application. The software that we will use is free and called FFMpeg. The following instructions will explain how to get it and set it up. The setup is a one-time thing so you won't have to do it again. Step 1 - Downloading FFMpeg ~~~~~~~~~~~~~~~~~~~~~~~~~~~ For Windows ^^^^^^^^^^^ Go to the ffmpeg website (http://ffmpeg.org/download.html). The URL that had the link for me was here... https://ffmpeg.zeranoe.com/builds/ Watch out for the extremely annoying google ad that looks like a download button! There is no big button for what we need. Either get the 64-bit STATIC version or 32-bit STATIC version that is shown later down the page. If you bought a computer in the past 5 years, you probably want the 64-bit version. Make sure you get a exe file, if you hover over the options they will give more information about what exactly you are downloading. For OSX ^^^^^^^ Please see the section above. However, FFmpeg is obtained from https://evermeet.cx/ffmpeg/ instead. Just pick the big green button on the left under the FFmpeg heading. You will also need an archiving utility that supports .7z, since ffmpeg provides their OSX builds in .7z format. If you don't have one, try something like Keka (http://www.kekaosx.com). For Linux ^^^^^^^^^ FFMPeg can be installed from the repositories on most Linux systems. Version 2.6 is required for proper gif support, as we use the palettegen functionality. Step 2 - Unzipping and Linking to Krita ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For Windows ^^^^^^^^^^^ Unzip the package that was just downloaded. Rename the long folder name to just ffmpeg. Let's put this folder in a easy to find location. go to your C:\ and place it there. You can put it wherever you want, but that is where I put it. Open Krita back up and go to :menuselection:`File --> Render Animation`. Click the :guilabel:`Browse` button on the last item called FFMpeg. Select this file ``C:/ffmpeg/bin/ffmpeg.exe`` and click :guilabel:`OK` . For OSX ^^^^^^^ After downloading ffmpeg, you just need to extract it and then simply point to it in the FFMPEG location in Krita like ``/Users/user/Downloads/ffmpeg`` (assuming you downloaded and extracted the .7z file to /Users/user/Downloads). For Linux ^^^^^^^^^ FFMpeg is, if installed from the repositories, usually found in ``/usr/bin/ffmpeg`` Step 3 - Testing out an animation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ffmpeg.exe is what Krita uses to do all of its animation export magic. Now that it is hooked up, let us test it out. Let's make an animated GIF. in the Render Animation dialog, change the :guilabel:`Render As` field to "GIF image". Choose the file location where it will save with the "File" menu below. I just saved it to my desktop and called it "export.gif". When it is done, you should be able to open it up and see the animation. .. warning:: By default, FFMPEG will render MP4 files with a too new codec, which means that windows media player won't be able to play it. So for windows, select "baseline" for the profile instead of "high422" before rendering. .. note:: OSX does not come with any software to play MP4 and MKV files. If you use Chrome for your web browser, you can drag the video file into that and the video should play. Otherwise you will need to get a program like VLC to see the video. diff --git a/reference_manual/resource_management.rst b/reference_manual/resource_management.rst index f4e12019c..13dda4824 100644 --- a/reference_manual/resource_management.rst +++ b/reference_manual/resource_management.rst @@ -1,111 +1,111 @@ .. meta:: :description: Overview of Resource Management in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Resources, Bundles .. _resource_management: =================== Resource Management =================== Resources are pluggable bits of data, like brush presets or patterns. Krita has variety of resources and also has a good resource management starting from 2.9, making it really easy for artists to share and collate all the resources together Bundles ------- Starting from 2.9 Krita has a new format to manage resources it is called ''Bundles'', a bundle is just a compressed file containing all the resources together. Tags ---- Krita also has a robust tagging system for you to manage the resources on the fly while painting.All Krita resources can be tagged. These tags can be added via the resource manager, but also via the respective dockers such as brush preset docker, pattern docker etc. you can |mouseleft| the plus icon in the docker and add a tag name. in addition to adding you can rename and delete a tag as well. .. image:: /images/en/Tags-krita.png :align: center * Resources can belong to one or more tags. For example, you may have a Brush Preset of a favorite **Ink Pen** variant and have it tagged so it shows in up in your Inking, Painting, Comics and Favorites groups of brushes. * Brushes in the "Predefined" tab of the Brush Settings Editor can be also tagged and grouped for convenience. Filtering ~~~~~~~~~ Some dockers, for example the brush preset docker as shown below, have a resource filter, which functions like a powerful search bar for the resource in question. .. image:: /images/en/Brushpreset-filters.png You can enter brush name, tag name to quickly pull up a list of brush preset you want. When you select any tag from the tag dropdown and want to include brush presets from other tags as well then you can add filters the following way: * To filter based on the partial, case insensitive name of the resources you can add ``partialname`` or ``!partialname`` * To include other Tags type the respective name of the tag in square brackets like this ``[Tagname]`` or to exclude a tag type ``![Tagname]``. * For case sensitive matching of preset name type ``"Preset name"`` or ``! "Preset name"`` to exclude. An incredibly quick way to save a group or brushes into a tag is to: #. Create a new tag by |mouseleft| on the green plus sign. This will empty out the contents of the Brush Preset docker. #. Use the Resource Filter at the bottom of the Brush Presets dock or Brush Settings Editor to type in what you want to group. For instance: if you type **Pencil** in the filter box you will get all Brush Presets with **Pencil** somewhere in their name. Now you have all the Pencil-related Brush Presets together in one place. #. To finish, click the Save button (small disk icon to the right of the Resource Filter box) or press :kbd:`Enter` and all the items will be saved with the new tag you created. Now, anytime you want to open up your "digital pencil box" and see what you have to work with all you have to do is use the pull-down and select '''Pencils'''. The Resource Filter works the same way in other parts of Krita so be on the lookout for it! Resource Zooming - If you find the thumbnails of the resources such as color swatches brushes and pattern to be small you can make them bigger or '''zoom in'''. All resource selectors can be zoomed in and out of, by hovering over the selector and using :kbd:`ctrl +` |mousescroll| + If you find the thumbnails of the resources such as color swatches brushes and pattern to be small you can make them bigger or '''zoom in'''. All resource selectors can be zoomed in and out of, by hovering over the selector and using :kbd:`Ctrl +` |mousescroll| Managing Resources ------------------ As mentioned earlier Krita has a flexible resource management system. Starting from version 2.9 you can share various resources mentioned above by sharing a single compressed zip file created within Krita. The manage resources section in the settings was also revamped for making it easy for the artists to prepare these bundle files. You can open manage resource section by going to :menuselection:`Settings` then :menuselection:`Manage Resources` .. image:: /images/en/Manageresources.png :align: center Importing Bundles ~~~~~~~~~~~~~~~~~ To import a bundle click on Import Bundles /Resources button on the top right side of the dialog. Select .bundle file format from the file type if it is not already selected, browse to the folder where you have downloaded the bundle, select it and click open. Once the bundle is imported it will be listed in the Active Bundle section, If you don't need the bundle you can temporarily make it inactive by selecting it and clicking on the arrow button, this will move it to the Inactive section. Creating your own Bundle ~~~~~~~~~~~~~~~~~~~~~~~~ You can create your own bundle from the resources of your choice. Click on the create bundle button, This will open a dialog box as shown below .. image:: /images/en/Creating-bundle.png The left hand section is for filling up information about the Bundle like author name, website, email , bundle icon etc. the right hand side provides a list of available resources. Choose the type of resource you wish to add in to the bundle from the drop-down above and add it to the bundle by selecting a resource and clicking on the arrow button. .. warning:: Make sure you add brush tips for used in the respective paintop preset you are adding to the bundle. If you don't provide the brush tips then the brush presets loaded from this bundle will have a 'X' mark on the thumbnail denoting that the texture is missing. And the brush preset won't be the same Once you have added all the resources you can create bundle by clicking on the save button, the bundle will be saved in the location you have specified. You can then share this bundle with other artists or load it on other workstations. Deleting Backup files --------------------- When you delete a preset from Krita. Krita doesn't actually delete the physical copy of the preset. It just adds it to a black list so that Next time when you start Krita the presets from this list are not loaded. To delete the brushes from this list click on delete backup files Deleting Imported Bundles ------------------------- In-case you wish to delete the bundles you have imported permanently click on the open resource folder button in the manage resources dialog . This will open the resource folder in your file manager / explorer. Go inside the bundles folder and delete the bundle file which you don't need any more. The next time you start Krita the bundle and its associated resources will not be loaded. Resource Types in Krita ----------------------- .. toctree:: :maxdepth: 1 :glob: resource_management/* diff --git a/reference_manual/resource_management/resource_gradients.rst b/reference_manual/resource_management/resource_gradients.rst index ef1f09dba..dff2cafdc 100644 --- a/reference_manual/resource_management/resource_gradients.rst +++ b/reference_manual/resource_management/resource_gradients.rst @@ -1,118 +1,118 @@ .. meta:: :description: Creating and managing gradients in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Resources, Gradients .. _resource_gradients: ========= Gradients ========= Accessing a Gradient -------------------- The Gradients configuration panel is accessed by clicking the Gradients icon (usually the icon next to the disk). .. image:: /images/en/Gradient_Toolbar_Panel.png Gradients are configurations of blending between colors. Krita provides over a dozen preset dynamic gradients for you to choose from. In addition, you can design and save your own. Some typical uses of gradients are: * Fill for vector shapes. * Gradient tool * As a source of color for the pixel brush. There is no gradients docker. They can only be accessed through the gradient "quick-menu" in the toolbar. Editing a Gradient ------------------ Krita has two gradient types: #. Segmented Gradients, which are compatible with GIMP, have many different features but are also a bit complicated to make. #. Stop Gradients, which are saved as SVG files and similar to how most applications do their gradients, but has less features than the segmented gradient. Initially we could only make segmented gradients in Krita, but in 3.0.2 we can also make stop gradients. .. image:: /images/en/Krita_new_gradient.png :align: center You can make a new gradient by going into the drop-down and selecting the gradient type you wish to have. By default Krita will make a stop-gradient. Stop Gradients ~~~~~~~~~~~~~~ .. image:: /images/en/Krita_stop_gradient.png :align: center Stop gradients are very straight forward: * |mouseleft| on the gradient to add a stop. * |mouseleft| on the stops to select them, and drag to move them. * |mouseright| on the stops to remove them. A stop gradient will not allow you to remove stops if there's only two left. .. image:: /images/en/Krita_move_stop.png :align: center A selected stop can have it's color and transparency changed using the color button and the opacity slider below. .. image:: /images/en/Krita_stop_sudden_change.png :align: center As per SVG spec, you can make a sudden change between stops by moving them close together. The stops will overlap, but you can still drag them around. Segmented Gradients ~~~~~~~~~~~~~~~~~~~~ .. image:: /images/en/Krita_Editing_Custom_Gradient.png Segmented gradients are a bit more tricky. Instead of going from color to color, it allows you to define segments, which each can have a begin and end color. |mouseright| the gradient to call up this menu: .. image:: /images/en/Krita_segment_gradient_options.png :align: center Split Segment This splits the current segment in two, using the white arrow, the segment middle as the place to split. It will also use the color at the white arrow to define the new colors in place in the new segments. Duplicate segment Similar to split, but instead the two new segments are copies of the old one. Mirror segment. Mirrors the segment colors. Remove segment Removes the segment. |mouseleft| + dragging the black arrows will resize the segments attaching to those arrows. |mouseleft| + dragging the white arrows will change the mid point of that segment, changing the way how the mixture is made. At the bottom, you can set the color and transparency of either part of the segment. You can also set the blending. The first is the interpolation mode: .. image:: /images/en/Krita_gradient_segment_blending.png :align: center #. Linear - Does a linear blending between both segments. #. Curved - This causes the mix to ease-in and out faster. #. Sine - Uses a sine function. This causes the mix to ease in and out slower. #. Sphere, increasing - This puts emphasis on the later color during the mix. #. Sphere, decreasing - This puts emphasis on the first color during the mix. Finally, there's the model: .. image:: /images/en/Krita_gradient_hsv_cw.png :align: center RGB Does the blending in RGB model. HSV clockwise - Blends the two colors using the HSV model, and follows the hue clockwise(red-yellow-green-cyan-blue-purple). The above screenshot is an example of this. + Blends the two colors using the HSV model, and follows the hue clockwise (red-yellow-green-cyan-blue-purple). The above screenshot is an example of this. HSV counter-clock wise. Blends the color as the previous options, but then counter-clockwise. diff --git a/reference_manual/resource_management/resource_workspace.rst b/reference_manual/resource_management/resource_workspace.rst index 3516ce2ad..07524a517 100644 --- a/reference_manual/resource_management/resource_workspace.rst +++ b/reference_manual/resource_management/resource_workspace.rst @@ -1,41 +1,41 @@ .. meta:: :description: Managing workspaces and sessions in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Resources, ! Workspaces, ! Window Layouts, ! Sessions .. _resource_workspaces: ========== Workspaces ========== Workspaces are basically saved configurations of dockers. Each workspace saves how the dockers are grouped and where they are placed on the screen. They allow you to easily move between workflows without having to manual reconfigure your setup each time. They can be as simple or as complex as you want. -Workspaces can only be accessed via the toolbar or :menuselection:`Window --> Workspaces` There's no docker for them. You can save workspaces, in which your current configuration is saved. You can also import them(from a \*.kws file), or delete them(which black lists them). +Workspaces can only be accessed via the toolbar or :menuselection:`Window --> Workspaces` There's no docker for them. You can save workspaces, in which your current configuration is saved. You can also import them (from a \*.kws file), or delete them (which black lists them). Workspaces can technically be tagged, but outside of the resource manager this is not possible. Window Layouts -------------- When you work with multiple screens, a single window with a single workspace won't be enough. For multi monitor setups we instead can use sessions. Window layouts allow us to store multiple windows, their positions and the monitor they were on. You can access Window Layouts from the workspace dropdown in the toolbar. Primary Workspace Follows Focus This treats the workspace in the first window as the 'primary' workspace, and when you switch focus, it will switch the secondary windows to that primary workspace. This is useful when the secondary workspace is a very sparse workspace with few dockers, and the primary is one with a lot of different dockers. Show Active Image In All Windows This will synchronise the currently viewed image in all windows. Without it, different windows can open seperate views for an image via :menuselection:`Window --> New View --> document.kra`. Sessions -------- Sessions allow Krita to store the images and windows opened. You can tell Krita to automatically save current or recover previous sessions if so configured in the :ref:`misc_settings`. -You can access sessions from :menuselection:`File --> Sessions`. \ No newline at end of file +You can access sessions from :menuselection:`File --> Sessions`. diff --git a/reference_manual/tools/colorize_mask.rst b/reference_manual/tools/colorize_mask.rst index 72f517d25..a28dbd1f6 100644 --- a/reference_manual/tools/colorize_mask.rst +++ b/reference_manual/tools/colorize_mask.rst @@ -1,174 +1,174 @@ .. meta:: :description: How to use the colorize mask in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Lazybrush, Colorize Mask, Masks, Layers, Flat Color .. _colorize_mask: ============= Colorize Mask ============= |toolcolorizemask| A tool for quickly coloring lineart, the Colorize Mask Editing tool can be found next to the gradient tool on your toolbox. This feature is technically already in 3.1, but disabled by default because we had not optimised the filling algorithm for production use yet. To enable it, find your krita configuration file, open it in notepad, and add "disableColorizeMaskFeature=false" to the top. Then restart Krita. Its official incarnation is in 4.0. Usage ----- This tool works in conjunction with the colorize mask, and the usage is as follows: For this example, we'll be using the ghost lady also used to explain masks on the basic concepts page. .. image:: /images/en/Krita_4_0_colorize_mask_usage_01.png :width: 800 :align: center This image has the line art for the lady separated from the background, and what's more, the background is made up of two layers: one main and one for the details. First, select the colorize mask editing tool while having the lineart layer selected. |mouseleft| the canvas will add a colorize mask to the layer. -You can also |mouseright| the line art layer, and then :guilabel:`Add --> Colorize Mask`. The line art will suddenly become really weird, this is the prefiltering which are filters through which we put the lineart to make the algorithm easier to use. The tool options overview below shows which options control that. +You can also |mouseright| the line art layer, and then :menuselection:`Add --> Colorize Mask`. The line art will suddenly become really weird, this is the prefiltering which are filters through which we put the lineart to make the algorithm easier to use. The tool options overview below shows which options control that. .. image:: /images/en/Krita_4_0_colorize_mask_usage_02.png :width: 800 :align: center Now, You make strokes with brush colors, press :guilabel:`Update` in the tool options, or tick the last icon of the colorize mask properties. In the layer docker, you will be able to see a little progress bar appear on the colorize mask indicating how long it takes. The bigger your file, the longer it will take. .. image:: /images/en/Krita_4_0_colorize_mask_usage_03.png :width: 800 :align: center We want to have the blue transparent. In the tool options of the colorize editing tool you will see a small palette. These are the colors already used. You can remove colors here, or mark a single color as standing for transparent, by selecting it and pressing "transparent". Updating the mask will still show the blue stroke, but the result will be transparent: .. image:: /images/en/Krita_4_0_colorize_mask_usage_04.png :width: 800 :align: center Because the colorize mask algorithm is slow, and we only need a part of our layer to be filled to fill the whole ghost lady figure, we can make use of :guilabel:`Limit to layer bounds`. This will limit Colorize Mask to use the combined size of the line art and the coloring key strokes. Therefore, make sure that the colorizing keystrokes only take up as much as they really need. .. image:: /images/en/Krita_4_0_colorize_mask_usage_05.png :width: 800 :align: center Now the algorithm will be possibly a lot faster, allowing us to add strokes and press update in rapid succession: .. image:: /images/en/Krita_4_0_colorize_mask_usage_06.png :width: 800 :align: center To see the final result, disable :guilabel:`Edit Key Strokes` or toggle the second to last icon on the colorize mask. .. image:: /images/en/Krita_4_0_colorize_mask_usage_07.png :width: 800 :align: center If you want to edit the strokes again, re-enable :guilabel:`Edit Key Strokes`. Now, the colorize mask, being a mask, can also be added to a group of line art layers. It will then use the composition of the whole group as the line art. This is perfect for our background which has two separate line art layers. It also means that the colorize mask will be disabled when added to a group with pass-through enabled, because those have no final composition. You can recognise a disabled colorize mask because it's name is stricken through. To add a colorize mask to a group, select the group and |mouseleft| the canvas with the Colorize Mask editing tool, or |mouseright| the layer to :menuselection:`Add --> Colorize Mask`. .. image:: /images/en/Krita_4_0_colorize_mask_usage_08.png :width: 800 :align: center Now, we add strokes to the background quickly. We do not need to use the :menuselection:`Limit to Layer Bounds` because the background covers the whole image. .. image:: /images/en/Krita_4_0_colorize_mask_usage_09.png :width: 800 :align: center For the record, you can use other brushes and tools also work on the colorize mask as long as they can draw. The Colorize Mask Editing tool is just the most convenient because you can get to the algorithm options. Out final result looks like this: .. image:: /images/en/Krita_4_0_colorize_mask_usage_10.png :width: 800 :align: center Now we are done, |mouseright| the colorize mask and :menuselection:`Convert --> to Paint Layer`. Then, :menuselection:`Layer --> Split --> Split Layer`. This will give separate color islands that you can easily edit: .. image:: /images/en/Krita_4_0_colorize_mask_usage_11.png :width: 800 :align: center This way we can very quickly paint the image. Due to the colorize mask going from the first image to the following took only 30 minutes, and would've taken quite a bit longer. .. image:: /images/en/Krita_4_0_colorize_mask_usage_12.png :width: 800 :align: center The colorize masks are saved to the .kra file, so as long as you don't save and open to a different file format, nor convert the colorize mask to a paintlayer, you can keep working adjust the results. Tool Options ------------ Update Run the colorize mask algorithm. The progress bar for updates on a colorize mask shows only in the layer docker. Edit key strokes Put the mask into edit mode. In edit mode, it will also show the 'pre-filtering' on the line-art, which is for example a blur filter for gap closing. Show output Show the output of the colorize mask. If :guilabel:`Edit key strokes` is active, this will be shown semi-transparently, so it will be easy to recognise the difference between the strokes and the output. .. figure:: /images/en/Krita_4_0_colorize_mask_show_output_edit_strokes.png :width: 800 :align: center On the **Left**: :guilabel:`Show Output` is on, :guilabel:`Edit Strokes` is off. In the **Middle**: :guilabel:`Show Output` and :guilabel:`Edit Strokes` are on. On the **Right**: :guilabel:`Show Output` is off and :guilabel:`Edit Strokes` is on.]] Limit to layer bounds Limit the colorize mask to the combined layer bounds of the strokes and the line art it is filling. This can speed up the use of the mask on complicated compositions, such as comic pages. Edge detection Activate this for line art with large solid areas, for example shadows on an object. For the best use, set the value to the thinnest lines on the image. In the imag ebelow, note how edge detection affects the big black areas: .. figure:: /images/en/Krita_4_0_colorize_mask_edge_detection.png :width: 800 :align: center From left to right: an example with big black shadows on an object but no edge detection, the same example without the edit strokes enabled. Then the same example with edge detection enabled and set to 2px, and that same example with out edit strokes enabled. Gap close hint - While the algorithm is pretty good against gaps in contours, this will improve the gap recognition. The higher this value is, the bigger the gaps it will try to close, but a too high value can lead to other errors. Note how the pre-filtered line art(that's the blurry haze) affects the color patches. + While the algorithm is pretty good against gaps in contours, this will improve the gap recognition. The higher this value is, the bigger the gaps it will try to close, but a too high value can lead to other errors. Note how the pre-filtered line art (that's the blurry haze) affects the color patches. .. figure:: /images/en/Krita_4_0_colorize_mask_gap_close_hint.png :width: 800 :align: center - On the **Left**: :guilabel:`Gap close hint` is 0px. In the **Middle**: :guilabel:`Gap close hint` is 15px(the lines are 10px). On the **Right**: :guilabel:`Gap close hint` is 275px. + On the **Left**: :guilabel:`Gap close hint` is 0px. In the **Middle**: :guilabel:`Gap close hint` is 15px (the lines are 10px). On the **Right**: :guilabel:`Gap close hint` is 275px. Clean-up strokes This will attempt to handle messy strokes that overlap the line art where they shouldn't. At 0 no clean up is done, at 100% the clean-up is most aggressive. .. image:: /images/en/Krita_4_0_colorize_mask_clean_up.png :width: 800 :align: center Keystrokes - This palette keeps track of the colors used by the strokes. This is useful so you can switch back to colors easily. You can increase the swatch size by hovering over it with the mouse, and doing :kbd:`ctrl +` |mousescroll|. + This palette keeps track of the colors used by the strokes. This is useful so you can switch back to colors easily. You can increase the swatch size by hovering over it with the mouse, and doing :kbd:`Ctrl +` |mousescroll|. Transparent This button is under the keystrokes palette, you can mark the selected color to be interpreted a 'transparent' with this. In the clean-up screenshot above, cyan had been marked as transparent. Layer properties ---------------- The colorize mask layer has four properties. They are all the buttons on the right side of the layer: Show output The first button, it allows you to toggle whether you'll see the output from the colorize algorithm. Lock Stops the mask from being edited. Edit key strokes Whether the colorize mask is in edit mode. In edit mode it'll show the strokes, and the output will be semi-transparent. Update The last button will force the colorize mask to update, even when you're in a different tool. Colorize masks cannot be animated. diff --git a/reference_manual/tools/freehand_brush.rst b/reference_manual/tools/freehand_brush.rst index 9351136be..7036d32c8 100644 --- a/reference_manual/tools/freehand_brush.rst +++ b/reference_manual/tools/freehand_brush.rst @@ -1,88 +1,88 @@ .. meta:: :description: Krita's freehand brush tool reference, containing how to use the stabilizer in krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Boudewijn Rempt - Nmaghrufusman :license: GNU free documentation license 1.3 or later. .. index:: !Freehand Brush, Freehand .. _freehand_brush_tool: =================== Freehand Brush Tool =================== |toolfreehandbrush| The default tool you have selected on Krita start-up, and likely the tool that you will use the most. The freehand brush tool allows you to paint on paint layers without constraints like the straight line tool. It makes optimal use of your tablet's input settings to control the brush-appearance. To switch the brush, make use of the brush-preset docker. Hotkeys and Sticky keys ----------------------- The freehand brush tool's hotkey is :kbd:`B`. * The alternate invocation is the ''color picker'' (standardly invoked by :kbd:`Ctrl`) Press :kbd:`Ctrl` to switch the tool to "color picker", use left or right click to pick fore and background color respectively. Release the :kbd:`Ctrl` to return to the freehand brush tool. * The Primary setting is "size". (standardly invoked by :kbd:`Shift`) Press :kbd:`Shift` and drag outward to increase brush size. Drag inward to decrease it. * You can also press :kbd:`V` as a stickykey for the straight-line tool. The hotkey can be edited in :menuselection:`Settings --> Configure Krita --> Configure Shortcuts`. The sticky-keys can be edited in :menuselection:`Settings --> Configure Krita --> Tablet Canvas Input`. Tool Options ------------ .. index:: Basic Smooth, No Smoothing, Weighted Smoothing, Stabilizer .. _stroke_smoothing: Smoothing ~~~~~~~~~ Smoothing, also known as stabilising in some programs, allows the program to correct the stroke. Useful for people with shaky hands, or particularly difficult long lines. The following options can be selected: No Smoothing. The input from the tablet translates directly to the screen. This is the fastest option, and good for fine details. Basic Smoothing. This option will smooth the input of older tablets like the Wacom Graphire 3. If you experience slightly jagged lines without any smoothing on, this option will apply a very little bit of smoothing to get rid of those lines. Weighted smoothing: This option allows you to use the following parameters to make the smoothing stronger or weaker: Distance The distance the brush needs to move before the first dab is drawn. (Literally the amount of events received by the tablet before the first dab is drawn.) Stroke Ending This controls how much the line will attempt to reach the last known position of the cursor after the left-mouse button/or stylus is lifted. Will currently always result in a straight line, so use with caution) Smooth Pressure This will apply the smoothing on the pressure input as well, resulting in more averaged size for example. Scalable Distance This makes it so that the numbers involved will be scaled along the zoom level. Stabilizer This option averages all inputs from the tablet. It is different from weighted smoothing in that it allows for always completing the line. It will draw a circle around your cursor and the line will be a bit behind your cursor while painting. Distance This is the strength of the smoothing. Delay This toggles and determines the size of the dead zone around the cursor. This can be used to create sharp corners with more control. Finish Line This ensures that the line will be finished. Stabilize sensors - Similar to :guilabel:`Smooth Pressure`, this allows the input(pressure, speed, tilt) to be smoother. + Similar to :guilabel:`Smooth Pressure`, this allows the input (pressure, speed, tilt) to be smoother. Scalable Distance This makes it so that the numbers involved will be scaled along the zoom level. .. index:: Painting Assistants Assistants ~~~~~~~~~~ Ticking this will allow snapping to :ref:`assistant_tool`, and the hotkey to toggle it is :kbd:`Ctrl + Shift + L`. See :ref:`painting_with_assistants` for more information. The slider will determine the amount of snapping, with 1000 being perfect snapping, and 0 being no snapping at all. For situations where there is more than one assistant on the canvas, the defaultly ticked :guilabel:`Snap single` means that Krita will only snap to a single assistant at a time, preventing noise. Unticking it allows you to chain assistants together and snap along them. diff --git a/reference_manual/tools/move.rst b/reference_manual/tools/move.rst index 02c57cc97..261a9475b 100644 --- a/reference_manual/tools/move.rst +++ b/reference_manual/tools/move.rst @@ -1,40 +1,40 @@ .. meta:: :description: Krita's move tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Move, Transform .. _move_tool: ========= Move Tool ========= |toolmove| With this tool, you can move the current layer or selection by dragging the mouse. Move current layer Anything that is on the selected layer will be moved Move layer with content Any content contained on the layer that is resting under the four-headed Move cursor will be moved Move the whole group All content on all layers will move. Depending on the number of layers this might result in slow and, sometimes, jerky movements. Use this option sparingly or only when necessary. -Shortcut move distance(3.0+) +Shortcut move distance (3.0+) This allows you to set how much, and in which units, the :kbd:`←`, :kbd:`↑`, :kbd:`→` and :kbd:`↓` actions will move the layer. -Large Move Scale(3.0+) +Large Move Scale (3.0+) Allows you to multiply the movement of the Shortcut Move Distance when pressing :kbd:`Shift` before pressing a direction key. Show coordinates When toggled will show the coordinates of the top-left pixel of the moved layer in a floating window. Constrained movement If you click, then press :kbd:`Shift`, then move the layer, movement is constrained to the horizontal and vertical directions. If you press :kbd:`Shift`, then click, then move, all layers will be moved, with the movement constrained to the horizontal and vertical directions .. image:: /images/en/Movetool_coordinates.png Position Gives the top-left coordinate of the layer, can also be manually edited. diff --git a/reference_manual/tools/multibrush.rst b/reference_manual/tools/multibrush.rst index cca262221..d6a06eecb 100644 --- a/reference_manual/tools/multibrush.rst +++ b/reference_manual/tools/multibrush.rst @@ -1,40 +1,40 @@ .. meta:: :description: Krita's multibrush tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Nmaghrufusman :license: GNU free documentation license 1.3 or later. .. index:: Tools, Multibrush, Mandala, Symmetry, Rotational Symmetry .. _multibrush_tool: =============== Multibrush Tool =============== |toolmultibrush| -The Multibrush tool allows you to draw using multiple instances of a freehand brush stroke at once, it can be accessed from the Toolbox docker or with the default shortcut :kbd:`q`. Using the Multibrush is similar to toggling the :ref:`mirror_tools`, but the Multibrush is more sophisticated, for example it can mirror freehand brush strokes along a rotated axis. +The Multibrush tool allows you to draw using multiple instances of a freehand brush stroke at once, it can be accessed from the Toolbox docker or with the default shortcut :kbd:`Q`. Using the Multibrush is similar to toggling the :ref:`mirror_tools`, but the Multibrush is more sophisticated, for example it can mirror freehand brush strokes along a rotated axis. The settings for the tool will be found in the tool options dock. The multibrush tool has three modes and the settings for each can be found in the tool options dock. Symmetry and mirror reflect over an axis which can be set in the tool options dock. The default axis is the center of the canvas. .. image:: /images/en/Krita-multibrush.png :align: center The three modes are: Symmetry Symmetry will reflect your brush around the axis at even intervals. The slider determines the number of instances which will be drawn on the canvas. Mirror Mirror will reflect the brush across the X axis, the Y axis, or both. Translate Translate will paint the set number of instances around the cursor at the radius distance. Snowflake This works as a mirrored symmetry, but is a bit slower than symmetry+toolbar mirror mode. The assistant and smoothing options work the same as in the :ref:`freehand_brush_tool`, though only on the real brush and not it's copies. diff --git a/reference_manual/tools/path.rst b/reference_manual/tools/path.rst index 5005da00e..70c9dc8de 100644 --- a/reference_manual/tools/path.rst +++ b/reference_manual/tools/path.rst @@ -1,42 +1,42 @@ .. meta:: :description: Krita's path tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Vector, Path, Bezier Curve, Pen .. _path_tool: .. _bezier_curve_tool: ================= Bezier Curve Tool ================= |toolbeziercurve| You can draw curves by using this tool. Click the |mouseleft| to indicate the starting point of the curve, then click again for consecutive control points of the curve. :program:`Krita` will show a blue line with two handles when you add a control point. You can drag these handles to change the direction of the curve in that point. On a vector layer, you can click on a previously inserted control point to modify it. With an intermediate control point (i.e. a point that is not the starting point and not the ending point), you can move the direction handles separately to have the curve enter and leave the point in different directions. After editing a point, you can just click on the canvas to continue adding points to the curve. Pressing :kbd:`Del` will remove the currently selected control point from the curve. Double-click the |mouseleft| on any point of the curve or press :kbd:`Enter` to finish drawing, or press :kbd:`Esc` to cancel the entire curve. You can use :kbd:`Ctrl` while keeping the left mouse button pressed to move the entire curve to a different position. -While drawing :kbd:`Ctrl` while dragging will push the handles both way. :kbd:`Alt` will create a sharp corner, and :kbd:`shift` will allow you to make a handle while at the end of the curve. |mouseright| will undo the last added point. +While drawing :kbd:`Ctrl` while dragging will push the handles both way. :kbd:`Alt` will create a sharp corner, and :kbd:`Shift` will allow you to make a handle while at the end of the curve. |mouseright| will undo the last added point. Tool Options ------------ .. versionadded:: 4.1.3 Autosmooth Curve Toggling this will have nodes initialize with smooth curves instead of angles. Untoggle this if you want to create sharp angles for a node. This will not affect curve sharpness from dragging after clicking. Angle Snapping Delta The angle to snap to. Activate Angle Snap Angle snap will make it easier to have the next line be at a specific angle of the current. The angle is determined by the :guilabel:`Angle Snapping Delta`. diff --git a/reference_manual/tools/pattern_edit.rst b/reference_manual/tools/pattern_edit.rst index d90d563cf..0c69e2781 100644 --- a/reference_manual/tools/pattern_edit.rst +++ b/reference_manual/tools/pattern_edit.rst @@ -1,81 +1,81 @@ .. meta:: :description: Krita's vector pattern editing tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Pattern .. _pattern_edit_tool.rst: ==================== Pattern Editing Tool ==================== |toolpatternedit| .. deprecated:: 4.0 The pattern editing tool has been removed in 4.0, currently there's no way to edit pattern fills for vectors The Pattern editing tool works on Vector Shapes that use a Pattern fill. On these shapes, The Pattern Editing Tool allows you to change the size, ratio and origin of a pattern. On Canvas-editing ----------------- You can change the origin by click dragging the upper node, this is only possible in Tiled mode. You can change the size and ratio by click-dragging the lower node. There's no way to constrain the ratio in on-canvas editing, this is only possible in Original and Tiled mode. Tool Options ------------ There's several tool options with this tool, for fine-tuning: First there's the Pattern options. Repeat: This can be set to Original: This will only show one, unstretched, copy of the pattern. - Tiled(Default): + Tiled (Default): This will let the pattern appear tiled in the x and y direction. Stretch: This will stretch the Pattern image to the shape. Reference point: pattern origin. This can be set to * Top-left * Top * Top-right * Left * Center * Right * Bottom-left * Bottom * Bottom-right. Reference Point Offset: For extra tweaking, set in percentages. X: offset in the X coordinate, so horizontally. Y: offset in the Y coordinate, so vertically. Tile Offset: The tile offset if the pattern is tiled. Pattern Size: Fine Tune the resizing of the pattern. W: The width, in pixels. H: The height, in pixels. And then there's Patterns, which is a mini pattern docker, and where you can pick the pattern used for the fill. diff --git a/reference_manual/tools/polygon.rst b/reference_manual/tools/polygon.rst index 8262fbc28..7e938edd0 100644 --- a/reference_manual/tools/polygon.rst +++ b/reference_manual/tools/polygon.rst @@ -1,24 +1,24 @@ .. meta:: :description: Krita's polygon tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Tools, Polygon .. _polygon_tool: ============ Polygon Tool ============ |toolpolygon| With this tool you can draw polygons. Click the |mouseleft| to indicate the starting point and successive vertices, then double-click or press :kbd:`Enter` to connect the last vertex to the starting point. -:kbd:`shift +` |mouseleft| undoes the last clicked point. +:kbd:`Shift +` |mouseleft| undoes the last clicked point. Tool Options ------------ diff --git a/reference_manual/tools/shape_edit.rst b/reference_manual/tools/shape_edit.rst index 41bd04f90..9ef52c06c 100644 --- a/reference_manual/tools/shape_edit.rst +++ b/reference_manual/tools/shape_edit.rst @@ -1,171 +1,171 @@ .. meta:: :description: Krita's shape edit tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Vector, Shape Edit .. _shape_edit_tool: =============== Shape Edit Tool =============== |toolshapeedit| The shape editing tool is for editing vector shapes. In Krita versions before 4.0 it would only show up in the docker when you had a vector shape selected. In Krita 4.0, this tool is always visible and has the Shape Properties docker as a part of it. .. image:: /images/en/Shape-editing-tool-example.png -You can access the Edit Shapes tool by clicking on the icon in the toolbox, but you can also access it by pressing :kbd:`Enter` when in the Shape Selection tool and having a shape selected that can be most efficiently edited with the edit shapes tool(Right now, that's all shapes but text). +You can access the Edit Shapes tool by clicking on the icon in the toolbox, but you can also access it by pressing :kbd:`Enter` when in the Shape Selection tool and having a shape selected that can be most efficiently edited with the edit shapes tool (right now, that's all shapes but text). On Canvas Editing of Shapes --------------------------- As detailed further in the Tool Options, there's a difference between path shapes and specialised vector shapes that make it easy to have perfect ellipses, rectangles and more. Path Shapes ~~~~~~~~~~~ Path shapes can be recognised by the different nodes they have. Paths in Krita are mostly bezier curves, and are made up of nodes. For straight lines, the nodes are connected by a line-segment and that's it. For curved lines, each node has a side handle to allow curving of that segment using the `cubic bezier curve algorithm `_ . **What that means, in short, is that moving the side handles into a given direction will make the segment curve in that direction, and the longer the line of the node to the side handle, the stronger the curving.** Selecting Nodes for Editing ^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can select a single node with |mouseleft|, they will turn bright green if selected. |mouseleft| + :kbd:`Shift` on unselected nodes will add them to a selection. |mouseleft| + drag will make a selection rectangle. All nodes whose handles are touched by the rectangle will be selected. This combines with |mouseleft| + :kbd:`Shift` above. Selected Nodes ^^^^^^^^^^^^^^ You can add and remove side handles from a selected node with |mouseleft| + :kbd:`Shift`. Krita has several node-types that allow you control the side handles more efficiently. These are the corner, smooth and symmetric modes. Corner Represented by a circle, the corner type allows you to have handles that can point in different directions and have different lengths. Smooth Represented by a square, the smooth type will ensure a smooth transition by always pointing the handles into opposite directions, but they can still have different lengths. Symmetric Represented by a diamond, the symmetric node will force handles to always point in opposite directions and have the same length. |mouseleft| + :kbd:`Ctrl` on a selected node will cycle between the node-types. -:kbd:`del` will remove the selected node. +:kbd:`Del` will remove the selected node. Selected Segments ^^^^^^^^^^^^^^^^^ Segments are the lines between nodes. Hovering over a segment will show a dotted line, indicating it can be selected. You can |mouseleft| and drag on a segment to curve it to the mouse point. Clicking on different parts of the segment and dragging will curve it differently. Double |mouseleft| on a segment will add a node on the segment under the mouse cursor. The new node will be selected. Other Shapes ~~~~~~~~~~~~ Shapes that aren't path shapes only have a single type of node: A small diamond like, that changes the specific parameters of that shape on-canvas. For example, you can change the corner radius on rectangles by dragging the nodes, or make the ellipse into a pie-segment. Tool Options ------------ .. image:: /images/en/Shape-editing-tool-tool-options.png Path shapes have options. The top left options are for converting to different anchor point types. The bottom left options are for adding or removing points. The top right options are for converting the line to different types. The bottom right options are for breaking and joining line segments. The tool options of the Edit Shapes Tool change depending on the type of shape you have selected. With the exception of the path shape, all shapes have a :guilabel:`Convert to Path` action, which converts said shape to a path shape. Path Shapes ~~~~~~~~~~~ |toolbeziercurve|, |toolline|, |toolpolyline|, |toolpolygon|, |toolfreehandpath| Path shapes are the most common shape and can be made with the following tools * :ref:`path_tool` * :ref:`line_tool` * :ref:`polygon_tool` * :ref:`polyline_tool` * :ref:`freehand_path_tool` Node Editing Edit the nodes. Corner Point Make the selected node a corner or cusp. This means that the side handles can point in different directions and be different lengths. Smooth Point Make the selected node smooth. The two side handles will always point in opposite directions, but their length can be different. Symmetric Point Make the selected node smooth. The two side handles will always point in opposite directions, and their length will stay the same. Insert Point Insert a new node into the middle of the selected segment. Remove Point Remove the selected node. Line Segment Editing Edit line segments between nodes. Segment To Line Make the current segment a straight line. Segment To Curve Make the current segment a curve: It'll add side nodes for this segment to the nodes attached to it. Make Line Point Turn the selected node into a sharp corner: This will remove the side handles. Make Curve Point Turn the selected node into one that can curve: This will add side handles to the node. Break at Point Break the path at this point. Break Segment Break the path at the selected segment. Join with Segment Join two nodes that are only attached on one side with a segment. Merge Points Merge two nodes into one, if the nodes are adjacent or if both nodes are only attached on one side with a segment. Rectangle Shapes ~~~~~~~~~~~~~~~~ |toolrectangle| Rectangle shapes are the ones made with the :ref:`rectangle_tool`. It has extra options to make rounded corners easy. Corner radius x The radius of the y-axis of the corner curve. Corner radius y The radius of the y-axis of the corner curve. Ellipse Shapes ~~~~~~~~~~~~~~ |toolellipse| Ellipse shapes are the ones made with the :ref:`ellipse_tool`. Type The type of ellipse shape it is. Arc An arc shape will keep the path open when it isn't fully circular. Pie A pie shape will add two extra lines to the center when the shape isn't fully circular, like how one cuts out a piece from a pie. Cord A cord shape will add a straight line between the two ends if the path isn't fully circular, as if a cord is being strung between the two points. Start Angle The angle at which the shape starts. End Angle The angle at which the shape ends. Close Ellipse An action to quickly make the ellipse fully circular. diff --git a/reference_manual/tools/shape_selection.rst b/reference_manual/tools/shape_selection.rst index 955c90c21..451e7efd4 100644 --- a/reference_manual/tools/shape_selection.rst +++ b/reference_manual/tools/shape_selection.rst @@ -1,110 +1,110 @@ .. meta:: :description: Krita's shape selection tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Raghavendra Kamath :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 suit 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 works as follows. You can click on a shape to select a single shape. You can select multiple shapes with click drag. There's two types of drag action, a *blue* one and a *green* one. The blue one is created by dragging from left to right, and will only select shapes that are fully covered by it. The green selection is created from right to left and will select all shapes it touches. Rotating, Moving, Scaling, Skewing ---------------------------------- Once an object is selected, a dashed box will appear around the object. There are handles that you can pull and stretch the box to scale it. If you move your cursor just outside the corner handles you can rotate the object. Tool Options ------------ .. image:: /images/en/Vector-tool-options.png The tool options of this menu are quite involved, and separated over 3 tabs. Geometry ~~~~~~~~ Geometry is the first section. It allows you to precisely set the x, y, width and height. Anchor Lock This is not implemented at the moment. Uniform scaling When enabled, it will scale the stroke width with the shape, when not enabled, the stroke with 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. Stroke ~~~~~~ The stroke tab determines how stroke around the object should look. The first set of buttons to choose is the fill of the stroke. This has the same features as the fill of the shape, so scroll down a bit for details on that. Then, there's the settings for the stroke style. Thickness The width of the stroke is determined by this entry. When creating a shape, Krita will use the current brush size to determine the width of the stroke. Cap and corner style If you press the button after the thickness entry, you will be able to set the stroke cap and the stroke corner style. Line-style Determines whether the stroke is solid or uses dashes and dots. Markers Which markers can be added 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 ~~~~ The fill of the shape. As this has the same features as the fill of the stroke, this is explained here as well. -A fill can be a flat color, a gradient or a pattern. Or it can be nothing(transparent) +A fill can be a flat color, a gradient or a pattern. Or it can be nothing (transparent) None No fill. It's transparent. Color A flat color, you can select a new one by pressing the color button. Gradient This one has a few more options. Type A linear or radial gradient. Repeat How the gradient repeats itself. Preset A quick menu for choosing a base gradient to edit. 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. Patterns Patterns aren't implemented yet. 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/en/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 combine, subtract, intersect, or split the objects. diff --git a/reference_manual/tools/text.rst b/reference_manual/tools/text.rst index b6a95d70f..15ce0a446 100644 --- a/reference_manual/tools/text.rst +++ b/reference_manual/tools/text.rst @@ -1,226 +1,226 @@ .. meta:: :description: Krita's text tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Text, Vector .. _text_tool: ========= Text Tool ========= |tooltext| This tool allows you to add text to your artwork. You use it by doing |mouseleft| + drag to create a rectangular selection. When releasing |mouseleft| a default text will be created and the text editor window will pop-up. Hovering over other text shapes will highlight their bounding box. |mouseleft| on a highlighted text will select it as the active text. Tool Options ------------ .. image:: /images/en/Krita-tool-options-text.png Create new texts with... This contains features with which to create new texts, the following items are available: Font The letter type used by newly created texts. Size in pt - The letter-size used by newly created texts. It is in pts(points), which is a common standard for fonts that is measured 72 points per inch. It therefore will stay proportionally the same size if you increase or decrease canvas dpi. + The letter-size used by newly created texts. It is in pts (points), which is a common standard for fonts that is measured 72 points per inch. It therefore will stay proportionally the same size if you increase or decrease canvas dpi. Anchor/Align text to the left/middle/right - Text alignment. This allows you to align text to the left, center it, or to the right. This is called text-anchor because svg 1.1's multiline text only uses text-anchor, and this is a slight bit different than text-align(And also the reason justify isn't available at the moment). + Text alignment. This allows you to align text to the left, center it, or to the right. This is called text-anchor because svg 1.1's multiline text only uses text-anchor, and this is a slight bit different than text-align (and also the reason justify isn't available at the moment). Edit Text This will summon the text editor for the currently selected shape. This can be quickly invoked with either pressing :kbd:`Enter` or Double - |mouseleft| the shape. Text Editor ----------- A small window for all your text editing needs. The Text Editor has two tabs: Rich text and SVG source. .. image:: /images/en/Text-editor-example.png Activating You can use the Text tool to first create a text box. There are a few options in the tool options if you want to customize how the text will be adding. You will need to drag a rectangle on the canvas to create the text area. There is no word wrapping, so for now the box you draw will not have an effect on the results. Once your text is created, you can edit the text from two ways: #. Select the text with the shape selection tool (first tool). Press the Enter key. The text editor will appear. #. Select the text with the shape selection tool (first tool). Then click the Text tool. In the tool options there is an "Edit Text" button. When you click that the text editor window will appear. Editing If you are unfamiliar with the way svg text works, use the rich text tab, it will allow you to edit the text as you see it, at the cost of not having all functionality. If you are a little bit more familiar with svg text, you can directly edit the SVG source. Do note that certain things, like stroke, fill, letter-spacing don't convert back to the rich text editor, so do be careful when switching back. Press 'save' as you're done with your edits to preview them on canvas. File Save :kbd:`Ctrl + S` Save current edits to the text on canvas. Close :kbd:`Ctrl + W` Close the editor Edit Basic editing functions Undo :kbd:`Ctrl + Z` Undo the last action in the text editor. Redo :kbd:`Ctrl + Shift + Z` Redo the last undone action in the text editor. Cut :kbd:`Ctrl + X` Cut selected text to the clipboard. Copy :kbd:`Ctrl + C` Copy selected text to the clipboard. Paste :kbd:`Ctrl + V` Paste text from the clipboard. Select all :kbd:`Ctrl + A` Select all text in the active editor. Deselect :kbd:`Ctrl + Shift + A` Deselect any selected text. Find :kbd:`Ctrl + F` Pops up a window with an input to find the given text in the active editor. Find Next :kbd:`F3` Searches for the next text using the last search key. Find Previous :kbd:`Shift + F3` Searches for the last text using the last search key. Replace... :kbd:`Ctrl + R` Pops up a dialog with two inputs: The string you wish to find, and the string you wish to replace it with. Will always replace ALL found instances. View Zoom Out :kbd:`Ctrl + -` Zoom out the text. Zoom In :kbd:`Ctrl + +` Zoom in the text. Insert Special Character... :kbd:`Alt + Shift + C` Pops up a dialog that allows you to search for special characters that are difficult to type in with your keyboard. Format Bold :kbd:`Ctrl + B` Set the font-weight to **bold**. Italic :kbd:`Ctrl + I` Sets the selected text *italic*. Underline :kbd:`Ctrl + U` Underline the selected text. Strike-Through Adds a strike-through text decoration. Superscript :kbd:`Ctrl + Shift + P` Sets the text to super-script baseline. Subscript :kbd:`Ctrl + Shift + B` Sets the text to subscript baseline. Weight Sets the font weight a little more specifically. Possibilities are... Light, Normal, Bold, and Black. Align Left Align the selected paragraph to the left. Align Center :kbd:`Ctrl + Alt + C` Center the selected paragraph. Align Right :kbd:`Ctrl + Alt + R` Align the selected paragraph to the right. Settings Settings... Calls up the text-editor settings dialog. Text Editor Settings ~~~~~~~~~~~~~~~~~~~~ The settings that can be configured for the text editor. Editor Mode Whether you want both the Rich Text Editor and the SVG Source Editor, or only one of either. Colors Here you can configure the syntax highlighting for the SVG source. Keyword These highlights important characters like <, /, and > Element The format for highlighting the element tag name. **text** and **tspan** are examples of element names. Attribute The format for highlighting theAttributes of the tag. For example, font-family, when it isn't in the style tag is usually written as an attribute. Value The format for highlighting value of attributes. Comment This highlights xml comments, which are written as following: ````. Comments are pieces of text that never get interpreted. Editor Text Color The main color of the editor. Editor background color The main background color of the editor. Fonts This allows you to filter the selection of fonts in the editor by writing system. Some systems have a lot of fonts specifically for showing foreign languages properly, but these might not be useful for you. You just tick the writing systems which you use yourself, and the font dropdown will only show fonts that have full support for that language. Fine typographic control with the SVG Source tab ------------------------------------------------ So, the rich text editor cannot control all functionality that SVG text allows for. For that, you will need to touch the SVG source directly. But to do that, you will first need to go to the text editor settings and enable either :guilabel:`SVG Source` or :guilabel:`Both`. The Rich Text editor will lose some information, so if you go all out, use :guilabel:`SVG Source`. Word-spacing, Letter-spacing and Kerning ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These three are written and read from the rich text tab, but have no sliders associated with them, because there was no time. Kerning `Kerning, in SVG 1.1 `_ behaves slightly differently than font-kerning in css. Krita by default uses the auto property for this, which means it is on. To turn it off use kerning:0 in the style section of the text. .. image:: /images/en/Krita_4_0_text_kerning.png :align: center :: No Kerning on Valhalla Tower. Letter-spacing This is the distance between letters in pts, usually. Just write ``letter-spacing`` in the style and add a distance in pts behind it. A negative value will decrease the value between words. Word-spacing This is the extra distance between words, defaulting to pts. By default, ``word-spacing: 0;`` will have it use only the width of the space character for that font. A negative value will decrease the amount of space between words: .. image:: /images/en/Krita_4_0_letter_and_word_spacing.png :align: center :: No Adjustment. Letter spacing: 2 Letter spacing: -2 Word spacing: 5 Word spacing: -5 x, y, dx, dy ~~~~~~~~~~~~ These are even finer-grained controls that can be used to position text. However, they CANNOT be reliably converted to the format of the rich text editor, because the rich text editor uses these to figure out if a line is a new-line and thus writes to these. X and Y X and Y are absolute coordinates. But because you cannot change the absolute coordinates of the text from the editor, these get added to the position when they show up in a tspan. dx and dy These are relative coordinates to the position of the previous letter. Font-stretch and Small-caps ~~~~~~~~~~~~~~~~~~~~~~~~~~~ These can also be stored and written to the rich text tab's internal format, but they don't get used in the on screen text object. Dominant Baseline, Alignment baseline, Font-size-adjust, Writing mode, Glyph-orientation, rotate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These are not stored in the rich text right now, and while they can be written into the SVG text, the SVG text-shape doesn't do anything with them. Krita generates font-size-adjust for the font when coming from rich text, as this can help designers when they want to use the SVG source as a basis for later adjustments. diff --git a/reference_manual/tools/zoom.rst b/reference_manual/tools/zoom.rst index 5593ef804..2409c7aa4 100644 --- a/reference_manual/tools/zoom.rst +++ b/reference_manual/tools/zoom.rst @@ -1,36 +1,36 @@ .. meta:: :description: Krita's zoom tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Zoom .. _zoom_tool: ========= Zoom Tool ========= |toolzoom| The zoom tool allows you to zoom your canvas in and out discretely. It can be found at the bottom of the toolbox, and you just it by selecting the tool, and doing |mouseleft| on the canvas will zoom in, while |mouseright| will zoom out. You can reverse this behaviour in the Tool Options. There's a number of hotkeys associated with this tool, which makes it easier to access from the other tools: -* :kbd:`ctrl + Space` + |mouseleft| + drag on the canvas will zoom in or out fluently. -* :kbd:`ctrl` + |mousemiddle| + drag on the canvas will zoom in or out fluently. -* :kbd:`ctrl + alt + Space` + |mouseleft| + drag on the canvas will zoom in or out with discrete steps. -* :kbd:`ctrl + alt +` |mousemiddle| + drag on the canvas will zoom in or out with discrete steps. +* :kbd:`Ctrl + Space` + |mouseleft| + drag on the canvas will zoom in or out fluently. +* :kbd:`Ctrl` + |mousemiddle| + drag on the canvas will zoom in or out fluently. +* :kbd:`Ctrl + Alt + Space` + |mouseleft| + drag on the canvas will zoom in or out with discrete steps. +* :kbd:`Ctrl + Alt +` |mousemiddle| + drag on the canvas will zoom in or out with discrete steps. * :kbd:`+` will zoom in with discrete steps. * :kbd:`-` will zoom out with discrete steps. * :kbd:`1` will set the zoom to 100%. * :kbd:`2` will set the zoom so that the document fits fully into the canvas area. * :kbd:`3` will set the zoom so that the document width fits fully into the canvas area. For more information on such hotkeys, check :ref:`navigation`. diff --git a/tutorials/common_workflows.rst b/tutorials/common_workflows.rst index 1507fbb04..669d262d2 100644 --- a/tutorials/common_workflows.rst +++ b/tutorials/common_workflows.rst @@ -1,210 +1,210 @@ .. meta:: :description lang=en: Common workflows used in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Vancemoss - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. _common_wokflows: ================ Common Workflows ================ Krita's main goal is to help artists create digital painting from scratch. Krita is used by comic artists, matte painters, texture artists, and illustrators around the world. This section explains some common workflow that artists use in Krita. When you open a new document in Krita for the first time, you can start painting instantly. The brush tool is selected by default and you just have to paint on the canvas. However, let us look at what artists do in Krita. Below are some of the common workflows used in Krita: Speed Painting and Conceptualizing ---------------------------------- Some artists work only on digital medium, sketching and visualizing concepts in Krita from scratch. As the name suggests a technique of painting done within matter of hours to quickly visualize the basic scene , character, look and feel of the environment or to denote the general mood and overall concept is called a **speed painting**. Finishing and finer details are not the main goal of this type of painting, but the representation of form value and layout is main goal. Some artists set time limit to complete the painting while some paint casually. Speed painting then can be taken forward by adding finer details and polish to create a final piece. Generally artists first block in the composition by adding patches and blobs of flat colors, defining the silhouette etc . Krita has some efficient brushes for this situation, for example the brush under **Block Tag** like Block fuzzy, Block basic, layout_block etc. After the composition and a basic layout has been laid out the artists add as much details as possible in the given limited time, this requires a decent knowledge of forms, value perspective and proportions of the objects. Below is an example of speed paint done by `David Revoy `_ done in an hours time. .. image:: /images/en/Pepper-speedpaint-deevad.jpg :alt: speedpaint of pepper and carrot by deevad (David Revoy) :width: 800 Artwork by David Revoy, license : `CC-BY `_ You can view the recorded speed painting demo for the above image `on Youtube `_. Colorizing Line Art ------------------- Often an artist for example a comic book colorist will need to take a pencil sketch or other line art of some sort and use Krita to paint underneath it. This can be either an image created digitally or something that was done outside the computer and has been scanned. Preparing the lineart ^^^^^^^^^^^^^^^^^^^^^ If your images has a white or other single-tone background, you can use either of the following methods to prepare the art for coloring.: Place the line-art at the top of the layer stack and set its layer blending mode to Multiply If you want to clean the lineart a bit you can press :kbd:`Ctrl+L` or go to :menuselection:`Filters --> Adjust --> levels` .. image:: /images/en/Levels-filter.png :alt: level filter dialog You can clean the unwanted greys by moving the white triangle in the input levels section to left and darken the black by moving the black triangle to right. If you draw in blue pencils and then ink your line art you may need to remove the blue lines first to do that go to :menuselection:`Filter --> Adjust --> Color adjustment` curves or press shortcut :kbd:`Ctrl+M`. .. image:: /images/en/common-workflows/Color-adjustment-cw.png :alt: remove blue lines from image step 1 Now select **Red** from the drop-down, Click on the top right node on the graph and slide it all the way down. Or you can click on the top right node and enter **0** in the output field. Repeat this step for **Green** too. .. image:: /images/en/common-workflows/Color-adjustment-02.png :alt: removing blue lines from scan step 2 Now the whole drawing will have a blue overlay, zoom in and check if the blue pencil lines are still visible slightly, If you still see them, then go to **Blue** Channel in the color adjustment and shift the top right node towards left a bit, Or enter a value around 190 ( one that removes the remaining rough lines) in the input box. .. image:: /images/en/common-workflows/Color-adjustment-03.png :alt: remove blue lines from scans step 3 Now apply the color adjustment filter, yes we still have lots of blue on the artwork be patient and move on to the next step. Go to :menuselection:`Filter --> Adjust --> Desaturate` or press :kbd:`Ctrl + Shift + U`. Now select max from the list. .. image:: /images/en/common-workflows/Color-adjustment-04.png :alt: remove blue lines from scans step 4 .. hint:: It is good to use non-photo-blue pencils to create the blue lines as those are easy to remove. If you are drawing digitally in blue lines use #A4DDED color as this is closer to non-photo-blue color. You can learn more about doing a sketch from blue sketch to digital painting `here in a tutorial by David Revoy `_. After you have a clean black and white line-art you may need to erase the white color and keep only black line-art, to achieve that go to :menuselection:`Filters --> Color --> Color to Alpha`. Use the dialog box to turn all the white areas of the image transparent. The Color Picker is set to White by default. If you have imported scanned art and need to select another color for the paper color then you would do it here. .. image:: /images/en/Color-to-alpha.png :alt: color to alpha dialog box This will convert the white color in your line-art to alpha i.e. it will make the white transparent leaving only the lineart. Your line-art can be in grey-scale color space, this is a unique feature in Krita which allows you to keep a layer in a color-space independent from the image. Laying in Flat Colors ^^^^^^^^^^^^^^^^^^^^^ There are many ways to color a line art in Krita, but generally these three are the common among the artists. 1. Paint blocks of color directly with block brushes. 2. Fill with Flood fill Tool. 3. Use one of the GMIC colorise comics filters. Blocking with brush """"""""""""""""""" The first is the more traditional method of taking a shape brush or using the geometric tools to lay in color. This would be similar to using an analog marker or brush on paper. There are various block brushes in Krita, you can select **Block** Tag from the dro-pdown in the brush presets docker and use the brushes listed there. Add a layer underneath your lineart layer and start painting with the brush, If you want to correct any area you can press :kbd:`E` and convert the same brush into an eraser. You can also use a layer each for different colors for more flexibility. Filling with Flood Fill tool """""""""""""""""""""""""""" The second method is to use the Flood fill tool to fill large parts of your line-art quickly. This method generally requires closed gaps in the line-art. To begin with this method place your line-art on a separate layer. Then activate the flood fill tool and set the grow selection to 2px, un-check limit to current layer if previously checked. .. image:: /images/en/common-workflows/Floodfill-krita.png :alt: flood fill in krita Choose a color from color elector and just click on the area you want to fill the color. As we have expanded the fill with grow selection the color will be filled slightly underneath the line-art thus giving us a clean fill. GMIC Colorise [Interactive] """"""""""""""""""""""""""" The third method is to use take advantage of the integrated G'Mic filters. These are powerful filters that can dramatically improve your workflow and cut your down on your production time. To begin coloring with the GMIC colorize interactive, go to :menuselection:`Filter --> GMIC`. Choose :menuselection:`Filter --> G'Mic --> Black & white --> Colorize[interactive]` from the list of filters. Then select Line-art for :menuselection:`Input type, Image + Colors (2 Layers)` for output type, set the view resolution according to your need. If you have any specific color palette to use for coloring add the path for it in additional color palette. The example of the filter window with the required inputs is shown below. .. image:: /images/en/common-workflows/GMIC-colorize-interactive-krita.png :alt: G'MIC window in Krita Press **Apply** to begin the coloring, this will open a color selector **palette** window and a window showing your lineart. Choose the color from the palette and click on the areas that needs to be filled with color like the example shown below. .. image:: /images/en/common-workflows/Krita-GMIC-colorize-interactive.png :alt: G'MIC colorise interactive window If you feel that the dots are a bit distracting you can press :kbd:`Tab` to reduce the size or hide the dots. to zoom out you can press :kbd:`Ctrl+down arrow` and :kbd:`Ctrl+up arrow` vice versa. Panning is done by |mousemiddle| + drag. Press :kbd:`Spacebar` to generate the colors. If you want to replace a color select the color by |mousemiddle| and pressing :kbd:`R` then you can select an alternate color from the palette. Once you have finished adding the desired flat colors you can press :kbd:`Enter` to apply the filter. Then don't forget to press **Ok** in the GMIC dialog box. The flats colors will be placed on a separate layer. You can check `this `_ tutorial by David Revoy to know more about this technique. GMIC Colorize [comics] """""""""""""""""""""" Krita provides one more option to prepare flat colors through GMIC colorize comics filter. This technique needs some preparations before you run the GMIC filter. This layer extrapolates the color spots that you input below the lineart You have to create two layers below the line art, one for the color spots indicating which color you need to be filled in the region and one for the final extrapolated output of the filter. Mark some colors spots in the layer beneath the lineart. The layer setup can be seen in the image below. .. image:: /images/en/common-workflows/Colorize-krita.png :alt: G'MIC colorise comics layer setup The colors spots are marked in red in the image -Now go to :menuselection:`Filter --> G'Mic --> Black & white --> Colorize[comics]`. In the GMIC dialog box, select all for input and inplace(default) for output, select Lineart + color spots + extrapolated layers for both input and output layers on the right hand side. Smoothness is for filling gap tolerance and details the default is 0.5 you can adjust it according to your line art. +Now go to :menuselection:`Filter --> G'Mic --> Black & white --> Colorize[comics]`. In the GMIC dialog box, select all for input and inplace (default) for output, select Lineart + color spots + extrapolated layers for both input and output layers on the right hand side. Smoothness is for filling gap tolerance and details the default is 0.5 you can adjust it according to your line art. .. image:: /images/en/common-workflows/Colorise-comics-setting.png :alt: Colorise Interactive dialog and settings Press **Apply** and **Ok** to apply and exit the GMIC dialog. You'll now have flat colors beneath you lineart. More details about this technique can be found in the tutorial `at Timothée Giet's blog `_. Painting -------- Starting from chaos ^^^^^^^^^^^^^^^^^^^ Here, you start by making a mess through random shapes and texture, then taking inspirations from the resulting chaos you can form various concepts. It is kind of like making things from clouds or finding recognizable shapes of things in abstract and random textures. Many concept artist work with this technique. You can use brushes like the shape brush, or the spray brush to paint a lot of different shapes, and from the resulting noise, you let you brain pick out shapes and compositions. .. image:: /images/en/common-workflows/Chaos2.jpg :alt: Starting a painting from chaotic sketch You then refine these shapes to look more like shapes you think they look, and paint them over with a normal paintbrush. This method is best done in a painting environment. Starting from a value based underground ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This method finds it's origins in old oil-painting practice: You first make an under-painting and then paint over it with colour, having the dark underground shine through. With Krita you can use blending modes for this purpose. Choosing the Color blending mode on a layer on top allows you to change the colours of the image without changing the relative luminosity. This is useful, because humans are much more sensitive to tonal differences than difference in saturation and hue. This'll allow you to work in greyscale before going into colour for the polishing phase. You can find more about this technique `here `_. Preparing Tiles and Textures ---------------------------- Many artists use Krita to create textures for 3d assets used for games animation etc. Krita has many texture template for you to choose and get started with creating textures. These template have common sizes, bit depth and color profiles that are used for texturing workflow. Krita also has a real-time seamless tile mode to help texture artist prepare tiles and texture easily and check if it is seamless on the fly. The tiled mode is called wrap around mode , to activate this mode you have press :kbd:`W`. No when you paint the canvas is tiled in real-time allowing you to create seamless pattern and texture, it is also easy to prepare interlocking patterns and motifs in this mode. Creating Pixel Art ------------------ Krita can also be used to create high definition pixel painting. The pixel art look can be achieved by using Index color filter layer and overlaying dithering patterns. The general layer stack arrangement is as shown below. .. image:: /images/en/common-workflows/Layer-docker-pixelart.png :alt: Layer stack setup for pixel art The index color filter maps specific user selected colors to the grey scale value of the artwork. You can see the example below, the strip below the black and white gradient has index color applied to it so that the black and white gradient gets the color selected to different values. .. image:: /images/en/common-workflows/Gradient-pixelart.png :alt: color mapping in index color to greyscale You can choose the required colors and ramps in the index color filter dialog as shown below. .. image:: /images/en/common-workflows/Index-color-filter.png :alt: index color filter dialog Dithering can be used to enhance the look of the art and to ease the banding occurred by the index color filter. Krita has a variety of dithering patterns by default, these can be found in pattern docker. You can use these patterns as fill layer , then set the blend mode to **overlay** and adjust the opacity according to your liking. generally an opacity range of 10% - 25% is ideal. Paint the artwork in grey-scale and add a index color filter layer at the top then add the dithering pattern fill layer below the index color filter but above the artwork layer, as shown in the layer stack arrangement above. You can paint or adjust the artwork at any stage as we have added the index color filter as a filter layer. You can add different groups for different colors and add different dithering patterns for each group. Below is an example painted with this layer arrangement. .. image:: /images/en/common-workflows/Kiki-pixel-art.png :alt: Pixel art done in Krita diff --git a/tutorials/flat-coloring.rst b/tutorials/flat-coloring.rst index c5bb488cb..8db32540b 100644 --- a/tutorials/flat-coloring.rst +++ b/tutorials/flat-coloring.rst @@ -1,329 +1,329 @@ .. meta:: :description lang=en: Common workflows used in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _flat_coloring: ============= Flat Coloring ============= So you've got a cool black on white drawing, and now you want to color it! The thing we’ll aim for in this tutorial is to get your lineart colored in with flat colors. So no shading just yet. We’ll be going through some techniques for preparing the lineart, and we’ll be using the layer docker to put each colour on a separate layer, so we can easily access each colour when we add shading. .. note:: This tutorial is adapted from this `tutorial `_ by the original author. Understanding Layers -------------------- To fill lineart comfortably, it's best to take advantage of the layerstack. The layer stack is pretty awesome, and it's one of those features that make digital art super-convenient. In traditional art, it is not uncommon to first draw the full background before drawing the subject. Or to first draw a line art and then colour it in. Computers have a similar way of working. In programming, if you tell a computer to draw a red circle, and then afterwards tell it to draw a smaller yellow circle, you will see the small yellow circle overlap the red circle. Switch the commands around, and you will not see the yellow circle at all: it was drawn before the red circle and thus ‘behind’ it. This is referred to as the “drawing order”. So like the traditional artist, the computer will first draw the images that are behind everything, and layer the subject and foreground on top of it. The layer docker is a way for you to control the drawing order of multiple images, so for example, you can have your lineart drawn later than your colors, meaning that the lines will be drawn over the colors, making it easier to make it neat! Other things that a layer stack can do are blending the colors of different layers differently with blending modes, using a filter in the layer stack, or using a mask that allows you to make parts transparent. .. tip:: Programmers talk about transparency as ''Alpha'', which is because the 'a' symbol is used to present transparency in the algorithms for painting one color on top of another. Usually when you see the word ''Alpha'' in a graphics program, just think of it as affecting the transparency. Preparing your line-art ----------------------- -Put the new layer underneath the layer containing the lineart(drag and drop or use the up/down arrows for that), and draw on it. +Put the new layer underneath the layer containing the lineart (drag and drop or use the up/down arrows for that), and draw on it. .. image:: /images/en/flat-coloring/Krita_filling_lineart14.png :alt: layer structure for flatting in krita …And notice nothing happening. This is because the white isn’t transparent. You wouldn’t really want it to either, how else would you make convincing highlights? So what we first need to do to colour in our drawing is prepare our lineart. There’s several methods of doing so, each with varying qualities. The Multiply Blending Mode -------------------------- So, typically, to get a black and white lineart usable for colouring, you can set the blending mode of the lineart layer to Multiply. You do this by selecting the layer and going to the drop down that says **Normal** and setting that to **Multiply**. .. image:: /images/en/flat-coloring/Krita_filling_lineart1.png :alt: blend mode setup of lineart flat coloring And then you should be able to see your colors! Multiply is not a perfect solution however. For example, if through some image editing magic I make the lineart blue, it results into this: .. image:: /images/en/flat-coloring/Krita_filling_lineart2.png :alt: effects of multiply blend mode This is because multiply literally multiplies the colors. So it uses maths! -What it first does is take the values of the RGB channels, then divides them by the max(because we're in 8bit, this is 255), a process we call normalising. Then it multiplies the normalised values. Finally, it takes the result and multiplies it with 255 again to get the result values. +What it first does is take the values of the RGB channels, then divides them by the max (because we're in 8bit, this is 255), a process we call normalising. Then it multiplies the normalised values. Finally, it takes the result and multiplies it with 255 again to get the result values. .. list-table:: :header-rows: 1 * - - Pink - - Pink(normalised) + - Pink (normalised) - Blue - - Blue(normalised) + - Blue (normalised) - Normalised, multiplied - Result * - Red - 222 - 0.8705 - 92 - 0.3607 - 0.3139 - 80 * - Green - 144 - 0.5647 - 176 - 0.6902 - 0.3897 - 99 * - Blue - 123 - 0.4823 - 215 - 0.8431 - 0.4066 - 103 This isn't completely undesirable, and a lot of artists use this effect to add a little richness to their colors. Advantages """""""""" Easy, can work to your benefit even with coloured lines by softening the look of the lines while keeping nice contrast. Disadvantages """"""""""""" Not actually transparent. Is a little funny with coloured lines. Using Selections ---------------- The second method is one where we'll make it actually transparent. In other programs this would be done via the channel docker, but Krita doesn't do custom channels, instead it uses Selection Masks to store custom selections. 1. duplicate your lineart layer. 2. convert the duplicate to a selection mask. |mouseright| the layer, then :menuselection:`Convert --> to Selection Mask`. .. image:: /images/en/flat-coloring/Krita_filling_lineart_selection_1.png 3. Invert the selection mask. :menuselection:`Select --> Invert Selection`. 4. Make a new layer, and do :menuselection:`Edit --> Fill with foreground color`. .. image:: /images/en/flat-coloring/Krita_filling_lineart_selection_2.png And you should now have the line art on a seperate layer. Advantages """""""""" Actual transparency. Disadvantages """"""""""""" Doesn't work when the lineart is coloured. Using Masks ----------- This is a simpler variation of the above. 1. Make a filled layer underneath the lineart layer. .. image:: /images/en/flat-coloring/Krita_filling_lineart_mask_1.png 2. Convert the lineart layer to a transparency mask |mouseright| the layer, then :menuselection:`Convert --> to Transparency Mask`. .. image:: /images/en/flat-coloring/Krita_filling_lineart_mask_2.png 3. Invert the transparency mask by going to :menuselection:`Filter --> Adjust --> Invert` .. image:: /images/en/flat-coloring/Krita_filling_lineart_mask_3.png Advantages """""""""" Actual transparency. You can also very easily doodle a pattern on the filled layer where the mask is on without affecting the transparency. Disadvantages """"""""""""" Doesn't work when the lineart is coloured already. We can still get faster. Using Color to Alpha -------------------- By far the fastest way to get transparent lineart. 1. Select the line art layer and apply the color to alpha filter. :menuselection:`Filter --> Colors --> Color to Alpha`. The default values should be sufficient for lineart. .. image:: /images/en/flat-coloring/Krita_filling_lineart_color_to_alpha.png Advantages """""""""" Actual transparency. Works with coloured line art as well, because it removes the white specifically. Disadvantages """"""""""""" You'll have to lock the layer transparency or seperate out the alpha via the right-click menu if you want to easily color it. Colouring the image =================== Much like preparing the line art, there's many different ways of colouring a layer. You could for example fill in everything by hand, but while that is very precise it also takes a lot of work. Let's take a look at the other options, shall we? Fill Tool --------- .. image:: /images/icons/fill_tool.svg :alt: fill-tool icon -In most cases the fill-tool can’t deal with the anti-aliasing(the soft edge in your lineart to make it more smooth when zoomed out) In Krita you have the grow-shrink option. Setting that to say… 2 expands the colour two pixels. +In most cases the fill-tool can’t deal with the anti-aliasing (the soft edge in your lineart to make it more smooth when zoomed out) In Krita you have the grow-shrink option. Setting that to say… 2 expands the colour two pixels. Threshold decides when the fill-tool should consider a different colour pixel to be a border. And the feathering adds a extra soft border to the fill. Now, if you click on a gapless-part of the image with your preferred colour…(Remember to set the opacity to 1.0!) Depending on your lineart, you can do flats pretty quickly. But setting the threshold low can result in little artifacts around where lines meet: .. image:: /images/en/flat-coloring/Krita_filling_lineart7.png :alt: colors filled with fill tool However, setting the threshold high can end with the fill not recognising some of the lighter lines. Besides these little artifacts can be removed with the brush easily. Advantages """""""""" Pretty darn quick depending on the available settings. Disadvantages """"""""""""" Again, not great with gaps or details. And it works best with aliased line-art. Selections ---------- Selections work using the selection tools. .. image:: /images/en/flat-coloring/Krita_filling_lineart15.png :alt: selecting with selection tools for filling color For example with the :ref:`bezier_curve_selection_tool` you can easily select a curved area, and the with :kbd:`Shift` + |mouseleft| (not |mouseleft| + :kbd:`Shift`, there's a difference!) you can easily add to an existing selection. .. image:: /images/en/flat-coloring/Krita_filling_lineart16.png :alt: selection mask in Krita You can also edit the selection if you have :menuselection:`Select --> Show Global Selection Mask` turned on. Then you can select the global selection mask, and paint on it. (Above with the alternative selection mode, activated in the lower-left corner of the stats bar) -When done, select the color you want to fill it with and press :kbd:`shift` + `backspace`. +When done, select the color you want to fill it with and press :kbd:`Shift` + `backspace`. .. image:: /images/en/flat-coloring/Krita_filling_lineart17.png :alt: filling color in selection You can save selections in selection masks by |mouseright| a layer, and then going to :menuselection:`Add --> Local Selection`. You first need to deactivate a selection by pressing the circle before adding a new selection. This can serve as an alternative way to split out different parts of the image, which is good for more painterly pieces: .. image:: /images/en/flat-coloring/Krita_filling_lineart18.png :alt: result of coloring made with the help of selection tools Advantages """""""""" A bit more precise than filling. Disadvantages """"""""""""" Previewing your color isn't as easy. Geometric tools --------------- So you have a tool for making rectangles or circles. And in the case of Krita, a tool for bezier curves. -Select the path tool (|path tool|), and set the tool options to fill=foreground and outline=none. Make sure that your opacity is set to 1.00(fully opaque). +Select the path tool (|path tool|), and set the tool options to fill=foreground and outline=none. Make sure that your opacity is set to 1.00 (fully opaque). .. |path tool| image:: /images/icons/bezier_curve.svg By clicking and holding, you can influence how curvy a line draw with the path tool is going to be. Letting go of the mouse button confirms the action, and then you’re free to draw the next point. .. image:: /images/en/flat-coloring/Krita_filling_lineart8.png :alt: filling color in lineart using path tool You can also erase with a geometric tool. Just press :kbd:`E` or the eraser button. .. image:: /images/en/flat-coloring/Krita_filling_lineart9.png :alt: erasing with path tool Advantages """""""""" Quicker than using the brush or selections. Also decent with lineart that contains gaps. Disadvantages """"""""""""" Fiddly details aren’t easy to fill in with this. So I recommend skipping those and filling them in later with a brush. Colorize Mask ------------- So, this is a bit of an odd one. In the original tutorial, you'll see I'm suggesting using G'Mic, but that was a few years ago, and g'mic is a little unstable on windows. Therefore, the Krita developers have been attempting to make an internal tool doing the same. It is disabled in 3.1, but if you use 4.0 or later, it is in the toolbox. Check the Colorize Mask for more information. So it works like this: 1. Select the colorize mask tool. 2. Tick the layer you're using. 3. Paint the colors your want to use on the colorize mask 4. Click update to see the results: .. image:: /images/en/flat-coloring/Krita_filling_lineart10.png :alt: coloring with colorise mask When you are satisfied, |mouseright| the colorize mask, and go to :menuselection:`Convert --> Paint Layer`. This will turn the colorize mask to a generic paint layer. Then, you can fix the last issues by aking the lineart semi-transparent and painting the flaws away with a pixel art brush. .. image:: /images/en/flat-coloring/Krita_filling_lineart11.png :alt: result from the colorise mask Then, when you are done, split the layers via :menuselection:`Layers --> Split --> Split Layer`. There's a few options you can choose, but the following should be fine: .. image:: /images/en/flat-coloring/Krita_filling_lineart12.png :alt: slitting colors into islands Finally, press **Ok** and you should get the following. Each color patch it on a different layer, named by the palette in the menu and alpha locked, so you can start painting right away! .. image:: /images/en/flat-coloring/Krita_filling_lineart13.png :alt: resulting color islands from split layers Advantages """""""""" Works with anti aliased lineart. Really quick to get the base work done. Can auto-close gaps. Disadvantages """"""""""""" No anti aliasing of it’s own. You have to choose between getting details right or the gaps auto-closed. Conclusion ---------- I hope this has given you a good idea of how to fill in flats using the various techniques, as well as getting a hand of different Krita features. Remember that a good flat filled lineart is better than a badly shaded one, so keep practising to get the best out of these techniques! diff --git a/tutorials/inking.rst b/tutorials/inking.rst index fee198be9..2b1d7530a 100644 --- a/tutorials/inking.rst +++ b/tutorials/inking.rst @@ -1,157 +1,157 @@ .. meta:: :description lang=en: tips and tricks for inking in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _inking: ====== Inking ====== The first thing to realise about inking is that unlike anatomy, perspective, composition or color theory, you cannot compensate for lack of practice with study or reasoning. This is because all the magic in drawing lines happens from your shoulder to your fingers, very little of it happens in your head, and your lines improve with practice. On the other hand, this can be a blessing. You don’t need to worry about whether you are smart enough, or are creative enough to be a good inker. Just dedicated. Doubtlessly, inking is the Hufflepuff of drawing disciplines. That said, there are a few tips to make life easy: Pose ---- Notice how I mentioned up there that the magic happens between your shoulders and fingers? A bit weird, not? But perhaps, you have heard of people talking about adopting a different pose for drawing. You can in fact, make different strokes depending on which muscles and joints you use to make the movement: The Fingers, the wrist and lower-arm muscles, the elbow and upper-arm muscles or the shoulder and back muscles. .. image:: /images/en/inking/Stroke_fingers.gif :alt: finger movement .. image:: /images/en/inking/Stroke_wrist.gif :alt: wrist movement Generally, the lower down the arm the easier it is to make precise strokes, but also the less durable the joints are for long term use. We tend to start off using our fingers and wrist a lot during drawing, because it’s easier to be precise this way. But it’s difficult to make long strokes, and furthermore, your fingers and wrist get tired far quicker. .. image:: /images/en/inking/Stroke_arm.gif :alt: arm movement .. image:: /images/en/inking/Stroke_shoulder.gif :alt: stroke shoulder movement Your shoulders and elbows on the other hand are actually quite good at handling stress, and if you use your whole hand you will be able to make long strokes far more easily. People who do calligraphy need shoulder based strokes to make those lovely flourishes (personally, I can recommend improving your handwriting as a way to improve inking), and train their arms so they can do both big and small strokes with the full arm. To control pressure in this state effectively, you should press your pinky against the tablet surface as you make your stroke. This will allow you to precisely judge how far the pen is removed from the tablet surface while leaving the position up to your shoulders. The pressure should then be put by your elbow. So, there’s not any secret rules to inking, but if there is one, it would be the following: *The longer your stroke, the more of your arms you need to use to make the stroke*. Stroke smoothing ---------------- So, if the above is the secret to drawing long strokes, that would be why people having been inking lovely drawings for years without any smoothing? Then, surely, it is decadence to use something like stroke smoothing, a short-cut for the lazy? .. figure:: /images/en/inking/Stroke_rigger.gif :alt: rigger brush demonstration - Example of how a rigger brush can smooth the original movement(here in red) + Example of how a rigger brush can smooth the original movement (here in red) Not really. To both, actually. Inkers have had a real-life tool that made it easier to ink, it’s called a rigger-brush, which is a brush with a very long hairs. Due this length it sorta smooths out shakiness, and thus a favoured brush when inking at three in the morning. With some tablet brands, the position events being sent aren’t very precise, which is why we having basic smoothing to apply the tiniest bit of smoothing on tablet strokes. On the other hand, doing too much smoothing during the whole drawing can make your strokes very mechanical in the worst way. Having no jitter or tiny bumps removes a certain humanity from your drawings, and it can make it impossible to represent fabric properly. Therefore, it’s wise to train your inking hand, yet not to be too hard on yourself and refuse to use smoothing at all, as we all get tired, cold or have a bad day once in a while. Stabilizer set to 50 or so should provide a little comfort while keeping the little irregularities. Bezier curves and other tools ----------------------------- So, you may have heard of a French curve. If not, it’s a piece of plastic representing a stencil. These curves are used to make perfectly smooth curves on the basis of a sketch. In digital painting, we don’t have the luxury of being able to use two hands, so you can’t hold a ruler with one hand and adjust it while inking with the other. For this purpose, we have instead Bezier curves, which can be made with the :ref:`path_selection_tool`. You can even make these on a vector layer, so they can be modified on the fly. The downside of these is that they cannot have line-variation, making them a bit robotic. You can also make small bezier curves with the :ref:`assistant_tool`, amongst the other tools there. Then, in the freehand brush tool options, you can tick **Assistants** and start a line that snaps to this assistant. Presets ------- So here are some things to consider with the brush-presets that you use: Anti-aliasing versus jagged pixels """""""""""""""""""""""""""""""""" -A starting inker might be inclined to always want to use anti-aliased brushes, after all, they look so smooth on the screen. However, while these look good on screen, they might become fuzzy when printing them. Therefore, Krita comes with two default types. Anti-aliased brushes like ink_brush_25 and slightly aliased brushes like ink_tilt, with the latter giving better print results. If you are trying to prepare for both, it might be an idea to consider making the inking page 600dpi and the color page 300dpi, so that the inking page has a higher resolution and the ‘jaggies’ aren’t as visible. You can turn any pixel brush into an aliased brush, by going :kbd:`f5` and ticking **Sharpness**. +A starting inker might be inclined to always want to use anti-aliased brushes, after all, they look so smooth on the screen. However, while these look good on screen, they might become fuzzy when printing them. Therefore, Krita comes with two default types. Anti-aliased brushes like ink_brush_25 and slightly aliased brushes like ink_tilt, with the latter giving better print results. If you are trying to prepare for both, it might be an idea to consider making the inking page 600dpi and the color page 300dpi, so that the inking page has a higher resolution and the ‘jaggies’ aren’t as visible. You can turn any pixel brush into an aliased brush, by going :kbd:`F5` and ticking **Sharpness**. Texture """"""" Do you make smooth ‘wet’ strokes? Or do you make textured ones? For the longest time, smooth strokes were preferred, as that would be less of a headache when entering the coloring phase. Within Krita there’s several methods to color these easily, the colorize mask being the prime example, so textured becomes a viable option even for the lazy amongst us. .. figure:: /images/en/inking/Inking_patterned.png :alt: type of strokes Left: No texture, Center: Textured, Right: Predefined Brush tip Pressure curve """""""""""""" Of course, the nicest lines are made with pressure sensitivity, so they dynamically change from thick to thin. However, different types of curves on the pressure give different results. The typical example being a slightly concave line to create a brush that more easily makes thin lines. .. figure:: /images/en/inking/Ink_gpen.png :alt: pressure curve for ink gpen Ink_Gpen_25 is a good example of a brush with a concave pressure curve. This curve makes it easier to make thin lines. .. figure:: /images/en/inking/Ink_convex.png :alt: convex inking brush conversely, here's a convex brush. The stroke are much rounder .. figure:: /images/en/inking/Ink_fill_circle.png :alt: ink fill circle Fill_circle combines both into a s-curve, this allows for very dynamic brush strokes .. figure:: /images/en/inking/Ink_speed.png :alt: inverse convex to speed parameter Pressure isn't the only thing you can do interesting things with, adding an inverse convex curve to speed can add a nice touch to your strokes Preparing sketches for inking ----------------------------- So, you have a sketch and you wish to start inking it. Assuming you’ve scanned it in, or drew it, you can try the following things to make it easier to ink. Opacity down to 10% """"""""""""""""""" -Put a white(just press backspace) layer underneath the sketch. Turn down the opacity of the sketch to a really low number and put a layer above it for inking. +Put a white (just press :kbd:`Backspace`) layer underneath the sketch. Turn down the opacity of the sketch to a really low number and put a layer above it for inking. Make the sketch coloured. """"""""""""""""""""""""" Put a layer filled with a color you like between the inking and sketch layer. Then set that layer to ‘screen’ or ‘addition’, this will turn all the black lines into the color! If you have a transparent background, or put this layer into a group, be sure to tick the alpha-inherit symbol! Make the sketch coloured, alternative version """"""""""""""""""""""""""""""""""""""""""""" Or, right-click the layer, go to layer properties, and untick ‘blue’. This works easier with a single layer sketch, while the above works best with multi-layer sketches. Super-thin lines ---------------- If you are interested in super-thin lines, it might be better to make your ink at double or even triple the size you usually work at, and, only use a aliased pixel brush. Then, when the ink is finished, use the fill tool to fill in flats on a separate layer, split the layer via :menuselection:`Layer --> Split --> Layer Split`, and then resize to the original size. .. image:: /images/en/inking/Inking_aliasresize.png :alt: aliased resize This might be a little of an odd way of working, but it does make drawing thin lines trivial, and it's cheaper to buy ram so you can make HUGE images than to spent hours on trying to color the thin lines precisely, especially as colorize mask will not be able to deal with thin anti-aliased lines very well. .. tip:: David Revoy made a set of his own inking tips for krita and explains them in this `youtube video `_. diff --git a/tutorials/krita-brush-tips/animated_brushes.rst b/tutorials/krita-brush-tips/animated_brushes.rst index f48424cde..25ae17abb 100644 --- a/tutorials/krita-brush-tips/animated_brushes.rst +++ b/tutorials/krita-brush-tips/animated_brushes.rst @@ -1,56 +1,56 @@ .. meta:: :description lang=en: A brief explanation about animated brushes and how to use them .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Hulmanen :license: GNU free documentation license 1.3 or later. .. _brush_tip_animated_brush: .. _animated_brush_tips: =========================== Brush-tips:Animated Brushes =========================== Question -------- I was messing with the brushes and noticed there is like an option for it being "animated". What does it mean and how do I use it? Basically, they’re what is officially called an ‘image hose’, and they’re quite fun. They are basically a brush-tip with multiple image files. The typical way to make them is to first draw the ‘frames’ on a small canvas, per layer: .. image:: /images/en/brush-tips/Krita-animtedbrush.png :alt: krita Animated brush tip layer setup :width: 800 You can use :kbd:`Alt` + |mouseleft| on the layer thumbnails to isolate layers without hiding them. .. image:: /images/en/brush-tips/Krita-animtedbrush1.png :alt: Animated brush tips isolated layers When done you should have a mess like this. -Go into the brush settings(:kbd:`f5`), and go to predefined brush-tips, and click stamp. You will get this window. +Go into the brush settings (:kbd:`F5`), and go to predefined brush-tips, and click stamp. You will get this window. .. image:: /images/en/brush-tips/Krita-animtedbrush2.png :alt: Predefined brush tips dialog And then use style **animated** and selection mode set to **random**. -Krita uses Gimp’s image hose format which allows for random selection of the images, angle based selection, pressure based selection, and incremental selection(I have no idea what constant does). +Krita uses Gimp’s image hose format which allows for random selection of the images, angle based selection, pressure based selection, and incremental selection (I have no idea what constant does). .. image:: /images/en/brush-tips/Krita-animtedbrush3.png :alt: Animated brush image dialog Then select the above brush and your new leafy-brush tip. .. image:: /images/en/brush-tips/Krita-animtedbrush4.png :alt: Result of an animated brush And use it to paint trees! (for example) You can also use animated brush tips to emulate, for example, bristle brush tips that go from very fine bristles to a fully opaque stamp based on pressure, like a dry paintbrush might do. To do this, you would follow the above instructions, but for each layer, create a different cross-section of the brush to correspond with the amount of pressure applied. diff --git a/tutorials/krita-brush-tips/fur.rst b/tutorials/krita-brush-tips/fur.rst index 3bb20b5e4..7a8b20fbf 100644 --- a/tutorials/krita-brush-tips/fur.rst +++ b/tutorials/krita-brush-tips/fur.rst @@ -1,55 +1,55 @@ .. meta:: :description lang=en: A tutorial about creating fur in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _Fur: ============== Brush-tips:Fur ============== Question -------- What brushes are best for fur textures? .. image:: /images/en/brush-tips/Krita-brushtips-fur_01.png :alt: Some example of furs and hair So typically, you see the same logic applied on fur as on regular :ref:`hair`. `However, you can make a brush a little easier by using the Gradient, Mix and HSV options in the pixel and color smudge brushes `_. Basically, what we want to do is have a stroke start dark and then become lighter as we draw with it, to simulate how hair-tips catch more light and look lighter due to being thinner at the ends, while at the base they are frequently more dark. .. image:: /images/en/brush-tips/Krita-brushtips-fur_02.png :alt: brush setting dialog for fur brush Take the ink_brush_25 and choose under Brush-tip->predefined “A-2 dirty brush”. Set the spacing to ‘auto’ and right-click the spacing bar to type in a value between 0.25 and 0.8. Also turn on the ‘enable pen-settings’ on flow. Replicate the pressure curve above on the size option. We don’t want the hairs to collapse to a point, hence why the curve starts so high. .. image:: /images/en/brush-tips/Krita-brushtips-fur_03.png :alt: brush setting dialog for fur -Then activate value and reproduce this curve with the ‘distance’ or ‘fade’ sensor. Like how the pressure sensor changes a value(like size) with the amount of pressure you put on the stylus, the distance sensor measures how many pixels your stroke is, and can change an option depending on that. For the HSV sensors: If the curve goes beneath the middle, it’ll become remove from that adjustment, and above the vertical middle it’ll add to that adjustment. So in this case, for the first 100px the brush dab will go from a darkened version of the active paint color, to the active paint color, and then for 100px+ it’ll go from the active color to a lightened version. The curve is an inverse S-curve, because we want to give a lot of room to the mid-tones. +Then activate value and reproduce this curve with the ‘distance’ or ‘fade’ sensor. Like how the pressure sensor changes a value (like size) with the amount of pressure you put on the stylus, the distance sensor measures how many pixels your stroke is, and can change an option depending on that. For the HSV sensors: If the curve goes beneath the middle, it’ll become remove from that adjustment, and above the vertical middle it’ll add to that adjustment. So in this case, for the first 100px the brush dab will go from a darkened version of the active paint color, to the active paint color, and then for 100px+ it’ll go from the active color to a lightened version. The curve is an inverse S-curve, because we want to give a lot of room to the mid-tones. .. image:: /images/en/brush-tips/Krita-brushtips-fur_04.png :alt: brush setting dialog showing color gradation We do the same thing for saturation, so that the darkened color is also slightly desaturated. Notice how the curve is close to the middle: This means it’s effect is much less strong than the value adjustment. The result should look somewhat like the fifth one from the left on the first row of this: .. image:: /images/en/brush-tips/Krita-brushtips-fur_05.png :alt: result of the brush that we made The others are done with the smudge brush engine, but a similar setup, though using color rate on distance instead. Do note that it’s very hard to shade realistic fur, so keep a good eye on your form shadow. You can also use this with grass, feathers and other vegetation: .. image:: /images/en/brush-tips/Krita-brushtips-fur_06.png :alt: using the fur brush to make grass and hair For example, if you use the mix option in the pxiel brush, it’ll mix between the fore and background color. You can even attach a gradient to the color smudge brush and the pixel brush. for color smudge this is just the ‘gradient’ option, and it’ll use the active gradient. For the pixel brush, set the color-source to ‘gradient’ and use the mix option. .. image:: /images/en/brush-tips/Krita-brushtips-fur_07.png :alt: fur brush with the color source to gradient and mix option On tumblr it was suggested this could be used to do `this tutorial `_. Basically, you can also combine this with the lighter color blending mode and wraparound mode to make making grass-textures really easy! diff --git a/tutorials/krita-brush-tips/outline.rst b/tutorials/krita-brush-tips/outline.rst index 2ba2b8af9..2ea8535e0 100644 --- a/tutorials/krita-brush-tips/outline.rst +++ b/tutorials/krita-brush-tips/outline.rst @@ -1,32 +1,32 @@ .. meta:: :description lang=en: A tutorial about painting outline while you draw with brush .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _outline: ================== Brush-tips:Outline ================== Question -------- How to make an outline for a single brush stroke using Krita? Not really a brush, but what you can do is add a layer style to a layer, by |mouseright| a layer and selecting layer style. Then input the following settings: .. image:: /images/en/brush-tips/Krita-layerstyle_hack.png :alt: image demonstrating the layer style hack for this effect -Then, set the main layer to multiply(or add a :ref:`filter_color_to_alpha` filter mask), and paint with white: +Then, set the main layer to multiply (or add a :ref:`filter_color_to_alpha` filter mask), and paint with white: .. image:: /images/en/brush-tips/Krita-layerstyle_hack2.png :alt: image demonstrating the layer style hack for this effect (The white thing is the pop-up that you see as you hover over the layer) Merge into a empty clear layer after ward to fix all the effects. diff --git a/tutorials/krita-brush-tips/sculpt-paint-brush.rst b/tutorials/krita-brush-tips/sculpt-paint-brush.rst index 8ce2f0ce2..a3f266908 100644 --- a/tutorials/krita-brush-tips/sculpt-paint-brush.rst +++ b/tutorials/krita-brush-tips/sculpt-paint-brush.rst @@ -1,67 +1,67 @@ .. meta:: :description lang=en: Tutorial for making sculpt brush like sinix's paint like a sculptor video .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _sculpt_paint_brush: ============================= Brush-tips:Sculpt-paint-brush ============================= Question -------- **How do I make a brush like the one in Sinix's paint-like-a-sculptor video?** It's actually quite easy, but most easy to do since Krita 3.0 due a few bugfixes. -First, select *Basic_Wet* from the default presets, and go into the brush editor with :kbd:`f5`. +First, select *Basic_Wet* from the default presets, and go into the brush editor with :kbd:`F5`. .. image:: /images/en/brush-tips/Painter-sculpt-brush-01.png :alt: brush setting dialog to get started Then, the trick is to go into **Opacity**, untoggle **Pressure** from the sensors, toggle **Fade** and then reverse the curve as shown above. Make sure that the curve ends a little above the bottom-right, so that you are always painting something. Otherwise, the smudge won't work. This'll make the color rate decrease and turn it into a smudge brush as the stroke continues: .. image:: /images/en/brush-tips/Painter-sculpt-brush-02.png :alt: remove pressure from opacity parameter and add fade. The **Fade** sensor will base the stroke length on brush size. The **Distance** sensor will base it on actual pixels, and the **Time** on actual seconds. Then, select :menuselection:`Brushtip --> Predefined` and select the default *A_Angular_Church_HR* brushtip. .. image:: /images/en/brush-tips/Painter-sculpt-brush-03.png :alt: select the Angular church brush tip This makes for a nice textured square brush. Of course, this'll make the stroke distance longer to get to smudging, so we go back to the *Opacity*. .. image:: /images/en/brush-tips/Painter-sculpt-brush-04.png :alt: opacity parameter in the rbush setting Just adjust the fade-length by |mouseright| on the slider bar. You can then input a number. In the screenshot, I have 500, but the sweet spot seems to be somewhere between 150 and 200. Now, you'll notice that on the start of a stroke, it might be a little faded, so go into **Color Rate** and turn off the **Enable Pen Settings** there. .. image:: /images/en/brush-tips/Painter-sculpt-brush-05.png :alt: switch off sensors for color rate Then, finally, we'll make the brush rotate. .. image:: /images/en/brush-tips/Painter-sculpt-brush-06.png :alt: brush rotation is enabled Tick the **Rotation** parameter, and select it. There, untick **Pressure** and tick **Drawing Angle**. Then, for better angling, tick **Lock** and set the **Angle Offset** to 90 degrees by |mouseright| the slider bar and typing in 90. Now, give your brush a new name, doodle on the brush-square, **Save to presets** and paint! .. image:: /images/en/brush-tips/Painter-sculpt-brush-07.png :alt: result from the brush we made. diff --git a/user_manual/animation.rst b/user_manual/animation.rst index ef7d9f45e..e5df01464 100644 --- a/user_manual/animation.rst +++ b/user_manual/animation.rst @@ -1,303 +1,303 @@ .. meta:: :description: Detailed guide on the animation workflow in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic - Lundin :license: GNU free documentation license 1.3 or later. .. index:: Animation .. _animation: ==================== Animation with Krita ==================== Thanks to the 2015 Kickstarter, :program:`Krita 3.0` now has animation. In specific, :program:`Krita` has frame-by-frame raster animation. There's still a lot of elements missing from it, like tweening, but the basic workflow is there. To access the animation features, the easiest way is to change your workspace to Animation. This will make the animation dockers and workflow appear. Animation curves ---------------- To create an animation curve (currently only for opacity) expand the “New Frame” button in the “Animation” dock and click “Add Opacity Keyframe”. You can now edit the keyframed value for opacity directly in the “Layers” dock, adding more keyframes will by default fade from the last to the next upcoming keyframe in the timeline over the frames between them. See :ref:`animation curves ` for details -Workflow: +Workflow --------- In traditional animation workflow, what you do is that you make *key frames*, which contain the important poses, and then draw frames in -between(\ *tweening* in highly sophisticated animator's jargon). +between (\ *tweening* in highly sophisticated animator's jargon). For this workflow, there are three important dockers: #. The :ref:`timeline_docker`. View and control all of the frames in your animation. The timeline docker also contains functions to manage your layers. The layer that are created in the timeline docker also appear on the normal Layer docker. #. The :ref:`animation_docker`. This docker contains the play buttons as the ability to change the frame-rate, playback speed and useful little options like :guilabel:`auto-key framing`. #. The :ref:`onion_skin_docker`. This docker controls the look of the onion skin, which in turn is useful for seeing the previous frame. Introduction to animation: How to make a walkcycle -------------------------------------------------- The best way to get to understand all these different parts is to actually use them. Walk cycles are considered the most basic form of a full animation, because of all the different parts involved with them. Therefore, going over how one makes a walkcycle should serve as a good introduction. Setup ~~~~~ First, we make a new file: .. image:: /images/en/Introduction_to_animation_01.png On the first tab, we type in a nice ratio like 1280x1024, set the dpi to -72(we're making this for screens after all) and title the document +72 (we're making this for screens after all) and title the document 'walkcycle'. In the second tab, we choose a nice background color, and set the background to canvas-color. This means that Krita will automatically fill in any transparent bits with the background color. You can change this in :menuselection:`image --> image properties`. This seems to be most useful to people doing animation, as the layer you do animation on MUST be semi-transparent to get onion skinning working. .. note:: Krita has a bunch of functionality for meta-data, starting at the :guilabel:`create document` screen. The title will be automatically used as a suggestion for saving and the description can be used by databases, or for you to leave comments behind. Not many people use it individually, but it can be useful for working in larger groups. Then hit create! Then, to get all the necessary tools for animation, select the workspace switcher: .. figure:: /images/en/Introduction_to_animation_02.png The red arrow points at the workspace switcher. And select the animation workspace. Which should result in this: .. image:: /images/en/Introduction_to_animation_03.png The animation workspace adds the timeline, animation and onion skin dockers at the bottom. Animating ~~~~~~~~~ We have two transparent layers set up. Let's name the bottom one 'environment' and the top 'walkcycle' by double clicking their names in the layer docker. .. image:: /images/en/Introduction_to_animation_04.png Use the straight line tool to draw a single horizontal line. This is the ground. .. image:: /images/en/Introduction_to_animation_05.png Then, select the 'walkcycle' layer and draw a head and torso (you can use any brush for this). Now, selecting a new frame will not make a new frame automatically. Krita doesn't actually see the 'walkcycle' layer as an animated layer at all! .. image:: /images/en/Introduction_to_animation_06.png We can make it animatable by adding a frame to the timeline. |mouseright| a frame in the timeline to get a context menu. Choose New Frame .. image:: /images/en/Introduction_to_animation_07.png You can see it has become an animated layer because of the onion skin icon showing up in the timeline docker. .. image:: /images/en/Introduction_to_animation_08.png Use the to copy frame to copy the first frame onto the second. Then, use the with shift+↑ to move the frame contents up. We can see the difference by turning on the onionskinning: .. image:: /images/en/Introduction_to_animation_09.png Now, you should see the previous frame as red. .. warning:: Krita sees white as a color, not as transparent, so make sure the animation layer you are working on is transparent in the bits where there's no drawing. You can fix the situation by use the :ref:`filter_color_to_alpha` filter, but prevention is best. .. image:: /images/en/Introduction_to_animation_10.png Future frames are drawn in green, and both colors can be configured in the onion skin docker. .. image:: /images/en/Introduction_to_animation_11.png Now, we're gonna draw the two extremes of the walkcycle. These are the pose where both legs are as far apart as possible, and the pose where one leg is full stretched and the other pulled in, read to take the next step. Now, let's copy these two... We could do that with :kbd:`Ctrl+drag`, but here comes a tricky bit: .. image:: /images/en/Introduction_to_animation_12.png Ctrl+ also selects and deselects frames, so to copy... - drag select all the frames you want to select. - Ctrl+++drag. You need to make sure the first frame is 'orange', otherwise it won't be copied along. Now then... .. figure:: /images/en/Introduction_to_animation_13.png :width: 580 squashed the timeline docker a bit to save space #. Copy frame 0 to frame 2 #. Copy frame 1 to frame 3 #. In the animation docker, set the frame-rate to 4 #. select all frames in the timeline docker by dragging-selecting them. #. press play in the animation docker. #. Enjoy your first animation! Expanding upon your rough walkcycle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: /images/en/Introduction_to_animation_14.png You can quickly make some space by :kbd:`Alt+dragging` any frame. This'll move that frame and all others after it in one go. Then draw inbetweens on each frame that you add .. image:: /images/en/Introduction_to_animation_16.png You'll find that the more frames you add, the more difficult it becomes to keep track of the onion skins. You can modify the onion skin by using the onion skin docker, where you can change how many frames are visible at once, by toggling them on the top row. The bottom row is for controlling transparency, while below there you can modify the colors and extremity of the coloring. .. image:: /images/en/Introduction_to_animation_15.png Animating with multiple layers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Okay, our walkcycle is missing some hands, let's add them on a separate layer. So we make a new layer, and name it hands and... .. image:: /images/en/Introduction_to_animation_17.png Our walkcycle is gone from the time-line docker! This is a feature actually. A full animation can have so many little parts that an animator might want to remove the layers they're not working on from the timeline docker. So you manually have to add them. .. image:: /images/en/Introduction_to_animation_18.png You can show any given layer in the timeline by doing on the layer in the layer docker, and toggling :guilabel:`show in timeline`. .. image:: /images/en/Introduction_to_animation_19.png Exporting ~~~~~~~~~ When you are done, select :menuselection:`File --> Export Animation` .. image:: /images/en/Introduction_to_animation_20.png It's recommended to save out your file as a png, and preferably in its own folder. Krita can currently only export png sequences. .. image:: /images/en/Introduction_to_animation_21.png When pressing done, you can see the status of the export in the status bar below. .. image:: /images/en/Introduction_to_animation_22.png The images should be saved out as filenameXXX.png, giving their frame number. -Then use something like Gimp(Linux, OSX, Windows), ImageMagick(Linux, +Then use something like Gimp (Linux, OSX, Windows), ImageMagick (Linux, OSX, Windows), or any other gif creator to make a gif out of your image sequence: .. image:: /images/en/Introduction_to_animation_walkcycle_02.gif For example, you can use `VirtualDub `__\ (Windows) and open all the frames and then go to File → Export → GIF Enjoy your walkcycle! .. note:: Krita 3.1 has a render animation feature. If you're using the 3.1 beta, check out the :ref:`render_animation` page for more information! Importing animation frames -------------------------- You can import animation frames in Krita 3.0. First let us take a sprite sheet from Open Game Art.(This is the Libre Pixel Cup male walkcycle) And we'll use :menuselection:`Image --> Split Image to split up the sprite sheet`. .. image:: /images/en/Animation_split_spritesheet.png The slices are even, so for a sprite sheet of 9 sprites, use 8 vertical slices and 0 horizontal slices. Give it a proper name and save it as png. Then, make a new canvas, and select :menuselection:`File --> Import Animation Frames`. This will give you a little window. Select :guilabel:`Add images`. This should get you a file browser where you can select your images. .. image:: /images/en/Animation_import_sprites.png You can select multiple images at once. .. image:: /images/en/Animation_set_everything.png The frames are currently automatically ordered. You can set the ordering with the top-left two drop-down boxes. Start Indicates at which point the animation should be imported. Step Indicates the difference between the imported animation and the document frame rate. This animation is 8 frames big, and the fps of the document is 24 frames, so there should be a step of 3 to keep it even. As you can see, the window gives feedback on how much fps the imported animation would be with the currently given step. Press OK, and your animation should be imported as a new layer. .. image:: /images/en/Animation_import_done.png Reference --------- - https://community.kde.org/Krita/Docs/AnimationGuiFeaturesList - `The source for the libre pixel cup male walkmediawiki cycle `_ diff --git a/user_manual/getting_started/basic_concepts.rst b/user_manual/getting_started/basic_concepts.rst index 9bda97789..e52167574 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 :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. This page is very, very long because it tries to cover all the important things you should know Krita is capable of, and Krita is really powerful. So this page can also be considered a guide through Krita's most important functionality. Hopefully, it will help you grasp what buttons are for, even if you don't know the exact purpose of them. .. contents:: Raster and Vector ----------------- Even though Krita is 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 know the concepts of raster and Vector. 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/en/Pixels-brushstroke.png :align: center In contrast, vector graphic work is based on mathematical expressions. They are independent of the pixel. For example, when you draw a rectangle on a vector layer in Krita you are actually drawing paths passing through points 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 you opened or made via the file dialog, and where you edit your file. Krita can allow you to open the file as a new copy via the file menu, or to save it as a new file, or make an incremental save. An image contains layers, a color space, a canvas size and metadata such as creator, data created, and DPI. Krita can open multiple images at once, you can switch between them via the :guilabel:`window` menu. +This is an individual copy of the image you opened or made via the file dialog, and where you edit your file. Krita can allow 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 save. An image contains layers, a color space, a canvas size and metadata such as creator, data created, and DPI. 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. + 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 existing image as new - Similar to 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. + 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 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 Image as new` but with the currently selected 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 and back files and crash recovery. You can configure these 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 mistakes, like skewing to one side. Mirroring with :kbd:`m` makes such skewing easy to identify. +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 mistakes, like skewing to 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/en/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`. +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 etc. .. image:: /images/en/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. +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/en/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/en/Canvas-krita.png :align: center When you save the painting as jpg, png etc 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 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 doing a slightly different thing: :ref:`paint_layers` Also known as raster layers, and the most common layer type, 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 outside existing image, 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` Adding a filter in the layer-stack. We discuss these later on. 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. These don't get a brush engine effect applied to them, though. 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 modify the current selection. This is not unlike using masking-fluids in traditional painting, 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 image. More on that later. All tools can be found in the toolbox, and information can be found in the tools section of the manual. Brush Engines ------------- Brush engines, like mentioned before, take a path and tablet information and add effects to it, making a stroke. Engine is a term programmers use to describe a complex interacting set of code that is the core for a 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/en/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. 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. +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/en/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/en/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 to the left. 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 the 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/en/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/en/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/en/Krita_basic_filter_brush.png :align: right Different filter brushes being used on different parts of the image. Krita has many more filters available: 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/en/Krita_ghostlady_3.png :align: center Layer Effects or Layer Styles are :program:`Photoshop's` unique brand of Filter Masks 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/en/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/en/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/en/Introduction_to_animation_walkcycle_02.gif :align: center In 3.0, 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 an illustrator in real life can have all sorts of equipment to make drawing easier, Krita also offers a variety of tools: .. figure:: /images/en/Krita_basic_assistants.png :align: center Krita's vanishing point assistants in action :ref:`grids_and_guides_docker` 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 afterwards. 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`. +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/getting_started/installation.rst b/user_manual/getting_started/installation.rst index 9ec90b881..cc76a2001 100644 --- a/user_manual/getting_started/installation.rst +++ b/user_manual/getting_started/installation.rst @@ -1,175 +1,179 @@ .. meta:: :description: Detailed steps on how to install Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic - Boudewijn Rempt - Dmitry Kazakov :license: GNU free documentation license 1.3 or later. .. index:: Installation .. _installation: Installation ============ Windows ------- Windows users can download the latest releases from our `website. `_ Click on 64bit or 32bit according to the architecture of your OS. Go to the `KDE `__ download directory to get the portable zip-file version of Krita instead of the setup.exe installer. .. warning:: Krita requires Windows Vista or newer. INTEL GRAPHICS CARD USERS: IF YOU SEE A BLACK OR BLANK WINDOW: UPDATE YOUR DRIVERS! Linux ----- Many Linux distributions package the latest version of Krita. Sometimes you will have to enable an extra repository. Krita runs fine under on -desktop: KDE, Gnome, LXDE -- even though it is a KDE SC application and +desktop: KDE, Gnome, LXDE -- even though it is a KDE application and needs the KDE libraries. You might also want to install the KDE system settings module and tweak the gui theme and fonts used, depending on your distributions Nautilus/Nemo file extensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Put here at the beginning, before we start on the many distro specific ways to get the program itself. -Since April 2016, KDE's Dolphin will show kra and ora thumbnails by -default, but Nautilus and it's derivatives will need an extension. `We +Since April 2016, KDE's Dolphin shows kra and ora thumbnails by +default, but Nautilus and it's derivatives need an extension. `We recommend Moritz Molch's extensions for XCF, KRA, ORA and PSD thumbnails `__. Appimages ~~~~~~~~~ For Krita 3.0 and later, first try out the appimage from the website first. **90% of the time this is by far the easiest way to get the latest Krita.** Just download the appimage, and then use the file properties or the bash command chmod to make the appimage executable. Double click it, and enjoy Krita. (Or run it in the terminal with ./appimagename.appimage) +- Open the terminal into the folder you have the appimage. +- Make it executable + :: - # open this terminal into the folder you have the appimage - # make it executable'' chmod a+x krita-3.0-x86_64.appimage - # run Krita! +- Run Krita! + +:: + ./krita-3.0-x86_64.appimage Appimages are ISOs with all the necessary libraries inside, meaning no fiddling with repositories and dependencies, at the cost of a slight bit -more diskspace taken up(And this size would only be bigger if you were +more diskspace taken up (And this size would only be bigger if you were using Plasma to begin with). Ubuntu and Kubuntu ~~~~~~~~~~~~~~~~~~ It does not matter which version of Ubuntu you use, Krita will run just fine. However, by default, only a very old version of Krita is available. You should either use the appimage, or the snap available from Ubuntu's app store. OpenSUSE ~~~~~~~~ The latest stable builds are available from KDE:Extra repo: - http://download.opensuse.org/repositories/KDE:/Extra/ .. note:: Krita is also in the official repos, you can install it from Yast. Fedora ~~~~~~ Krita is in the official repos as **calligra-krita**, you can install it by using packagekit (Add/Remove Software) or by writing the following command in terminal. ``dnf install krita`` You can also use the software center such as gnome software center or Discover to install Krita Debian ~~~~~~ The latest version of Krita available in Debian is 3.1.1. To install Krita type the following line in terminal ``apt install krita`` Arch ~~~~ Arch Linux provides krita package in the Extra repository. You can install Krita by using the following command ``pacman -S krita`` You can install the most recent build of Krita using an aur helper such as aurman. For example ``aurman -S krita-beta`` OS X ---- .. warning:: Mac OSX is very experimental right now and unstable, don't use it for production purpose You can download the latest binary if you want from our `website `__. It has only been reported to work with Mac OSX 10.9. Source ------ While it is certainly more difficult to compile Krita from source than it is to install from prebuilt packages, there are certain advantages that might make the effort worth it: - You can follow the development of Krita on the foot. If you compile Krita regularly from the development repository, you will be able to play with all the new features that the developers are working on. - You can compile optimized for your processor. Most pre-built packages are built for the lowest-common denominator. - You will be getting all the bug fixes as soon as possible as well. - You can help the developers by giving us your feedback on features as they are being developed and you can test bug fixes for us. This is hugely important, which is why our regular testers get their name in the about box just like developers. Of course, there are also disadvantages: when building from the current development source repository you also get all the unfinished features. It might mean less stability for a while, or things shown in the user interface that don't work. But in practice, there is seldom really bad instability, and if it is, it's easy for you to go back to a revision that does work. So... If you want to start compiling from source, begin with the latest build instructions from the excellent illustrated `guide `__ by David Revoy. There is more information and troubleshooting help on the -`Calligra `__ wiki: +`Calligra `__ wiki. If you encounter any problems, or if you are new to compiling software, don't hesitate to contact the Krita developers. There are three main communication channels: - irc: irc.freenode.net, channel #krita - `mailing list `__ - `forums `__ diff --git a/user_manual/getting_started/navigation.rst b/user_manual/getting_started/navigation.rst index a9d5ac8bd..b4b912bf5 100644 --- a/user_manual/getting_started/navigation.rst +++ b/user_manual/getting_started/navigation.rst @@ -1,113 +1,113 @@ .. meta:: :description: Overview of Krita navigation. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Boudewijn Rempt :license: GNU free documentation license 1.3 or later. .. index:: Navigation, Zoom, Rotate, Pan, Workspace, Pop-up Palette .. _navigation: ========== Navigation ========== Interface --------- Krita provides an ample choice for the artists to arrange the workspace. An artist can snap and arrange the elements of the workspace, much like snapping together Lego blocks. Krita provides a set of construction kit parts in the form of Dockers and Toolbars. Every set of elements can be shown, hidden, moved and rearranged that let the artist easily customize their own user interface experience. A Tour of the Krita Interface ----------------------------- As we've said before, the Krita interface is very malleable and the way that you choose to configure the work surface may not resemble those above but, at least this we can use these as a starting point. .. image:: /images/en/Interface-tour.png :width: 1000 :align: center - **A** -- Traditional '''File''' or action menu found in most windowed applications - **B** -- Toolbar - This is where you can choose your brushes, set parameters such as opacity and size and other settings. - **C** -- Sidebars for the Movable Panels/Dockers. In some applications, these are known as Dockable areas. Krita also allows you to dock panels at the top and/or bottom as well. - **D** -- Status Bar - This space shows you preferred mode for showing selection i.e marching ants or mask mode, your selected brush preset, :ref:`Color Space `, image size and provides a convenient zoom control. - **E** -- Floating Panel/Docker - These can be "popped" in and out of their docks at any time in order to see a greater range of options. A good example of this would be the :ref:`brush_preset_docker` or the :ref:`palette_docker` Your canvas sits in the middle and unlike traditional paper or even most digital painting apps, Krita provides the artist with a scrolling canvas of infinite size (not that you'll need it of course!). The standard navigation tools are as follows: Navigation ---------- Many of the canvas navigation actions, like rotation, mirroring and zooming have default keys attached to them: Panning This can be done through |mousemiddle|, :kbd:`Space +` |mouseleft| and :kbd:`the directional keys`. Zooming Discrete zooming can be done through :kbd:`+`, and :kbd:`-`. Using :kbd:`Ctrl + Space` or :kbd:`Ctrl +` |mousemiddle| can allow for direct zooming with the stylus. Mirroring You can mirror the view can be quickly done via :kbd:`M`. Mirroring is a great technique that seasoned digital artists use to quickly review the composition of their work to ensure that it "reads" well, even when flipped horizontally. Rotating You can rotate the canvas without transforming it can be done with :kbd:`Ctrl + [` or :kbd:`4` and the other way with :kbd:`Ctrl + ]` or :kbd:`6`. Quick mouse based rotation is :kbd:`Shift + Space` and :kbd:`Shift +` |mousemiddle|. To reset rotation use :kbd:`5` . You can also find these under :menuselection:`View --> Canvas` Dockers ------- Krita subdivides many of its options into functional panels called Dockers (aka Docks). Dockers are small windows that can contain, for example, things like the layer stack, Color Palette or Brush Presets. Think of them as the painter's palette, or his water, or his brushkit. They can be activated by choosing the :guilabel:`Settings` menu and the :guilabel:`Dockers` sub-menu. There you will find a long list of available options. Dockers can be removed by clicking the **x** in the upper-right of the docker-window. Dockers, as the name implied, can be docked into the main interface. You can do this by dragging the docker to the sides of the canvas (or top or bottom if you prefer). Dockers contain many of the "hidden", and powerful, aspects of **Krita** that you will want to explore as you start delving deeper into the application. You can arrange the dockers in almost any permutation and combination according to the needs of your workflow, and then save these arrangements as Workspaces. Dockers can be prevented from docking by pressing :kbd:`Ctrl` before starting to drag the docker. Sliders ------- Krita uses these to control values like brush size, opacity, flow, Hue, Saturation, etc... Below is an example of a Krita slider. .. image:: /images/en/Krita_Opacity_Slider.png -The total range is represented from left to right and blue bar gives an indication of where in the possible range the current value is. Clicking anywhere, left or right, of that slider will change the current number to something lower(to the left) or higher(to the right). +The total range is represented from left to right and blue bar gives an indication of where in the possible range the current value is. Clicking anywhere, left or right, of that slider will change the current number to something lower (to the left) or higher (to the right). To input a specific number, |mouseright| the slider. A number can now be entered directly for even greater precision. Pressing :kbd:`Shift` while dragging the slider changes the values at a smaller increment, and Pressing :kbd:`Ctrl` while dragging the slider changes the value in whole numbers or multiples or 5. Toolbars -------- .. image:: /images/en/Krita_Toolbar.png Toolbars are where some of the important actions and menus are placed so that they are readily and quickly available for the artist while painting. You can learn more about the Krita Toolbars and how to configure them in over in the Toolbars section of the manual. Putting these to effective use can really speed up the Artist's workflow, especially for users of Tablet-Monitors and Tablet-PCs. Workspace Chooser ~~~~~~~~~~~~~~~~~ The button on the very right of the toolbar is the workspace chooser. This allows you to load and save common configurations of the user interface in Krita. There are a few common workspaces that come with Krita. Pop-up Palette -------------- .. image:: /images/en/Krita-popuppalette.png :align: center Pop-up Palette is a unique feature in Krita designed to increase productivity of the artist, It is a circular menu for quickly choosing brushes, foreground and background colors, recent colors while painting. To access the palette you have to just |mouseright| on the canvas. The palette will spawn at the place of the brush tip or cursor. By tagging your brush presets you can add particular sets of brushes to this palette. For example If you add some inking brush presets to inking tag you can and change the tags to inking in the pop-up palette you'll get all the inking brushes in the palette. You can :ref:`tag ` brush presets via the :ref:`brush_preset_docker`, check out the resource overview page to know more about tagging in general. If you call up the pop-up palette again, you can click the wrench icon, and select the tag. In fact, you can make multiple tags and switch between them. -When you need more than ten presets, go into :menuselection:`Settings --> configure Krita --> general --> favorite presets` and change the number of presets from 10 to something you feel comfortable. +When you need more than ten presets, go into :menuselection:`Settings --> Configure Krita --> General --> Favorite presets` and change the number of presets from 10 to something you feel comfortable. diff --git a/user_manual/getting_started/starting_krita.rst b/user_manual/getting_started/starting_krita.rst index ebb8a07f0..f32d3170a 100644 --- a/user_manual/getting_started/starting_krita.rst +++ b/user_manual/getting_started/starting_krita.rst @@ -1,103 +1,103 @@ .. meta:: :description: A simple guide to the first basic steps of using Krita: creating and saving an image. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic - DMarquant - Vancemoss - Bugsbane - Hamlet 1977 - Lifeling - Yurchor :license: GNU free documentation license 1.3 or later. .. index:: Getting started, Save, Load, New .. _starting_with_krita: Starting Krita ============== There will be no canvas or new document open by default. To create a new canvas you have to create a new document from the :guilabel:`File` menu. If you want to open an existing image, either use :menuselection:`File --> Open` or drag the image from your computer into Krita's window. .. image:: /images/en/Starting-krita.png :width: 800 Creating a New Document ----------------------- A new document can be created as follows. #. Click on :guilabel:`File` from the application menu at the top. #. Then click on :guilabel:`New`. Or you can do this by pressing :kbd:`Ctrl + N`. #. Now you will get a New Document dialog box as shown below: .. image:: /images/en/Krita_newfile.png Krita is a pretty complex program that can handle a lot of different files, so let's go through this step by step: Custom Document ~~~~~~~~~~~~~~~~ From this section you can create a document according to your requirements: you can specify the dimensions, color model, depth, resolution, etc. In the top-most field of the :guilabel:`Dimensions` tab, you can define a name for your new document. This name will appear in the metadata of the file, and Krita will use it for the auto-save functionality as well. If you leave it empty, the document will be referred to as 'Unnamed' by default. From the Predefined drop-down you can select predefined pixel sizes and PPI (pixels per inch). You can set custom dimensions and the orientation of the document from the input fields below the predefined drop-down. This can also be saved as a new predefined preset for your future use by giving a name in the Save As field and clicking on the Save button. Below we find the Color section of the new document dialog box, where you can select the color model and the bit-depth. Check :ref:`color_management_settings` for more info. On the :guilabel:`Content` tab, you can select the background color and the amount of layers you want in the new document. Krita remembers the amount of layers you picked last time, so be careful. Finally, there's a description box, useful to note down what you are going to do. Create From Clipboard --------------------- This section allows you to create a document from an image that is in your clipboard, like a screenshot. It will have all the fields set to match the clipboard image. Templates: ~~~~~~~~~~ These are separate categories where we deliver special defaults. Templates are just .kra files which are saved in a special location, so they can be pulled up by Krita quickly. You can make your own template file from any .kra file, by using :menuselection:`File --> Create Template From Image` in the top menu. This will add your current document as a new template, including all its properties along with the layers and layer contents. Once you have created a new document according to your preference, you should now have a white canvas in front of you (or whichever background color you chose in the dialog). How to use brushes ~~~~~~~~~~~~~~~~~~ Now, just press on the canvas part. If everything's correct, you should be able to draw on the canvas! The brush tool should be selected by default when you start Krita, but if for some reason it is not, you can click on this |toolfreehandbrush| icon from the toolbar and activate the brush tool. -Of course, you'd want to use different brushes. On your right, there's a docker named Brush Presets (or on top, press :kbd:`f6` to find this one) with all these cute squares with pens and crayons. +Of course, you'd want to use different brushes. On your right, there's a docker named Brush Presets (or on top, press :kbd:`F6` to find this one) with all these cute squares with pens and crayons. If you want to tweak the presets, check the Brush Editor in the toolbar. You can also access the Brush Editor with :kbd:`F5`. .. image:: /images/en/Krita_Brush_Preset_Docker.png Tick any of the squares to choose a brush, and then draw on the canvas. To change color, click the triangle in the Advanced Color Selector docker. Erasing ~~~~~~~ There are brush presets for erasing, but it is often faster to use the eraser toggle. By toggling the :kbd:`E` key, your current brush switches between erasing and painting. This erasing method works with most of the tools. You can erase using the line tool, rectangle tool, and even the gradient tool. Saving and opening files ------------------------ Now, once you have figured out how to draw something in Krita, you may want to save it. The save option is in the same place as it is in all other computer programs: the top-menu of :guilabel:`File`, and then :guilabel:`Save`. Select the folder you want to have your drawing, and select the file format you want to use ('.kra' is Krita's default format, and will save everything). And then hit :guilabel:`Save`. Some older versions of Krita have a bug and require you to manually type the extension. If you want to show off your image on the internet, check out the :ref:`saving_for_the_web` tutorial. Check out :ref:`navigation` for further basic information, :ref:`basic_concepts` for an introduction as Krita as a medium, or just go out and explore Krita! diff --git a/user_manual/introduction_from_other_software/introduction_from_photoshop.rst b/user_manual/introduction_from_other_software/introduction_from_photoshop.rst index d4247ad41..4afd17d0c 100644 --- a/user_manual/introduction_from_other_software/introduction_from_photoshop.rst +++ b/user_manual/introduction_from_other_software/introduction_from_photoshop.rst @@ -1,384 +1,384 @@ .. meta:: :description: This is a introduction to Krita for users coming from Photoshop. .. metadata-placeholder :authors: - David Revoy, davidrevoy@gmail.com - Inge Wallin, inge.wallin@kogmbh.com - Wolthera van Hövell tot Westerflier, griffinvalley@gmail.com - AnetK - JakeD - Radianart - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Photoshop .. _introduction_from_photoshop: =========================================== Introduction to Krita coming from Photoshop =========================================== Introduction ------------ This document gives an introduction to Krita for users who have been using PhotoShop. The intention is to make you productive in Krita as fast as possible and ease the conversion of old habits into new ones. This introduction is written with Krita version 2.9 and Photoshop CS2 and CS3 in mind. But even though things may change in the future, the basics will most likely remain the same. The first thing to remember is that Krita is a 2D paint application while Photoshop (PS) is an image manipulation program. This means that PS has more features than Krita in general, but Krita has the tools that are relevant to digital painting. When you get used to Krita, you will find that Krita has some features that are not part of PS. Krita Basics ------------ This chapter covers how you use Krita in the basic operations compared to PS. View and Display ~~~~~~~~~~~~~~~~ Navigation ^^^^^^^^^^ In Krita you can navigate your document using all these methods: #. '*Mouse wheel*': |mousescroll| down and up for zoom, and press |mousemiddle| down to pan your document. #. '*Keyboard*': with :kbd:`+` and - on your numpad keyboard, and pan with space #. As in Photoshop, Painter, Manga Studio: :kbd:`Ctrl + space` to zoom, and space to pan. .. note:: If you add :kbd:`Alt` and so do a :kbd:`Ctrl + Alt + Space` you’ll have a discrete zoom. Rotation ^^^^^^^^ -Rotate the canvas with :kbd:`Shift + Space`, or :kbd:`ctrl + [` and :kbd:`ctrl + ]` or with 4 or 6. Reset the rotation with 5. +Rotate the canvas with :kbd:`Shift + Space`, or :kbd:`Ctrl + [` and :kbd:`Ctrl + ]` or with 4 or 6. Reset the rotation with 5. Mirror ^^^^^^ -Press :kbd:`m` to see your drawing or painting mirrored in the viewport. +Press :kbd:`M` to see your drawing or painting mirrored in the viewport. Move and Transform ^^^^^^^^^^^^^^^^^^ Moving and Transformation of contents is done using tools in Krita. You can then find them in the toolbar. If you are familiar with the way to move layers in PS by holding down :kbd:`Ctrl`, you can do the same in Krita by pressing the :kbd:`T` key for the move tool (think ‘T’ranslate) or :kbd:`Ctrl + T` for transform tool. Press :kbd:`B` to go back to the brush tool when the transformation or translation is done. To find how to make advanced deformations using the ‘Transform’ tool, do not right-click on the on-canvas widget: all the option are in the ‘Tool Options’ docker. Change can be applied with ‘Enter’ for the Transform tool. .. note:: Move tool changes are auto-applied. Selections ~~~~~~~~~~ Like in PS, you can use Alt or Shift during a selection to remove or add selection to the active selection. Krita also offers sub tools for this, and you can select them in the Tool Option if a select tool is active. These sub tools are represented as icons. You can switch to those sub modes by pressing: * :kbd:`R` to replace selection * :kbd:`T` to intersect * :kbd:`A` to add to the selection (this is the one you will want to use often) * :kbd:`S` to subtract from the selection (the other one popular) Or hold: * :kbd:`Alt` to subtract from the selection * :kbd:`Shift` to add to the selection * :kbd:`Alt + Shift` to intersect .. note:: You cannot press :kbd:`Ctrl` to move the content of the selection (you have to press ‘T’ or select the ‘Move Tool’. Some other tips: * If you want to convert a layer to a selection (to select the visible pixels), right-click on the layer docker, and choose ‘select opaque’. * If you use a polygonal selection tool, or a selection which needs to be ‘closed’, you will be able to do it or by using a double-click, or by using a :kbd:`Shift` - |mouseleft| . You can scale selection. To do this, choose Select > Scale (Note: also, in the Select menu there are more classical option to grow, shrink, feather, border, etc...) If you enable Show Global Selection Mask (Select menu) you can scale/rotate/transform/move or paint on selection like on regular greyscale layer. * :kbd:`Ctrl + H`: Show / Hide selection (same shortcut) * :kbd:`Ctrl + A`: Select All * :kbd:`Ctrl + Shift + A`: deselect All (and not :kbd:`Ctrl + D` as in PS) Note for Gimp user: Krita auto-expands and auto defloats new layers created from a selection after a :kbd:`Ctrl + C`, :kbd:`Ctrl + V` so you do not have to worry about not being able to paint outside the pasted element. .. note:: This doesn't work as intended right now. Intersect is a selection mode which uses 'T' as the shortcut. However 'T' is also used to switch to the 'Move tool' so this shortcut is not functional right now. You have to use the button on the Tool Options. Layer Handling ~~~~~~~~~~~~~~ The most common shortcuts are very similar in PS and Krita: * :kbd:`Ctrl + J`: duplicate * :kbd:`Ctrl + E`: merge down * :kbd:`Ctrl + Shift + E`: flattens all (not Ctrl+Shift+M as in PS) -* :kbd:`ins`: insert a new paint layer +* :kbd:`Ins`: insert a new paint layer * :kbd:`Ctrl + G`: create new layer group and move selected layers to this group Groups and Blending Mode (Composite Mode): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The group blending mode in Krita has priority over child layers and overrides it. This can be surprising for Photoshop users. On Photoshop you can use groups to just clean your layer stack and keep blending mode of your layer compositing through all the stack. In Krita the compositing will happen at first level inside the group, then taking into account the blending mode of the group itself. Both systems have pros and cons. Krita’s way is more predictable according to some artists, compositing-wise. The PS way leads to a cleaner and better ordered layer stack visually wise. Multi Layer Transform or Move ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can select multiple layers on the stack by holding down Shift as in PS, and if you move the layer inside a group you can move or transform the whole group - including doing selection on the group and cut all the sub layers inside on the fly. You can not apply filters to group to affect multiple layers. Clipping Masks ^^^^^^^^^^^^^^ Krita has no clipping mask, but there is a workaround involving layer groups and ‘inherit alpha’ (see the alpha icon). Place a layer with the shape you want to clip the other with at the bottom of a group and layers above with the ‘inherit alpha’ option. This will create the same effect as the “clipping mask” PS feature. This process of arranging groups for inherit alpha can be done automatically by :kbd:`Ctrl + Shift + G` shortcut. It creates a group with base layer and a layer above it with inherit alpha option checked by default. Pass-through mode ^^^^^^^^^^^^^^^^^ This is available in Krita, but not implemented as a blending mode. Rather, it is an option next to ‘inherit alpha’ on group layers. Smart Layers ^^^^^^^^^^^^ Instead of having smart layers that you can do non-destructive transforms on, Krita has the following set of functionality: File Layers These are layers which point to an outside file, and will get automatically updated if the outside file changes. Clone Layers These are layers that are an ‘instance’ of the layer you had selected when creating them. They get updated automatically when the original layer updates. Transform Masks These can be used to non-destructive transform all layer types, including the file and clone layers. Filter Masks Like adjustment layers, these can apply filters non-destructively to all layer types, including file and clone layers. Layer styles ^^^^^^^^^^^^ You can apply Photoshop layerstyles in Krita by right clicking any given layer type and selecting ‘layer style’ from the context menu. Krita can open and save ASL files, but not all layer style functionality is there yet. Other ^^^^^ Layers and groups can be exported. See the ‘Layer’ top menu for this and many other options. .. note:: Krita has at least 5 times more blending modes than PS. They are sorted by categories in the drop down menu. You can use the checkbox to add your most used to the Favorite categories. Paint tools ~~~~~~~~~~~ This is Krita's strong point. There are many paint tools and they have a lot of options. Tools ^^^^^ In Krita, there is a totally different paradigm for defining what ‘tools’ are compared to PS. Unlike in PS, you will not find the brush, eraser, clone, blur tool, etc. Instead, you will find a *way to trace* your strokes on the canvas: freehand, line, rectangle, circle, multiple brush, etc. When you have selected the ‘way to trace’ you can choose the *way to paint*: erasing / cloning / blurring, etc are all part of *way it paint* managed by the brush-engines options. These brush engine options are saved into so-called *presets*, which you can find on ‘Brush presets’. You can fine tune, and build your own presets using the ‘Edit Brush Settings’ icon on the top tool bar. Erasing ^^^^^^^ In Krita, the eraser is not a tool, it is a Blending mode (or Composite mode). You can change each brush you have to erase by pressing :kbd:`E`. By pressing :kbd:`E` again you’ll be back to the last blending mode you had selected before pressing :kbd:`E` the first time. Useful shortcuts ^^^^^^^^^^^^^^^^ * :kbd:`Shift`: Grow or Shrink the brush size (or :kbd:`[` and :kbd:`]`). * /: Switch last preset selected and current (ex: a pencil preset, and an eraser preset). * :kbd:`K` and :kbd:`L`: increment Darker and Lighter value of the active color * :kbd:`I` and :kbd:`O`: increment opacity plus or minus. * :kbd:`D`: Reset color to black/foreground and white/background * :kbd:`X`: Switch background and foreground colors * :kbd:`Shift`+ :kbd:`I` / :kbd:`Shift + N` / :kbd:`Shift + M`: a set of default keyboard shortcuts for accessing the on-canvas color selector. .. note:: - Some people regard these shortcuts as somewhat unfortunate. The reason is that they are meant to be used during painting and left-:kbd:`shift` is at the opposite end of the keyboard from :kbd:`I`, :kbd:`M` and :kbd:`N`. So for a right-handed painter, this is very difficult to do while using the stylus with a right hand. Note that you can reassign any shortcut by using the shortcut configuration in :menuselection:`Settings --> Configure Shortcuts`. + Some people regard these shortcuts as somewhat unfortunate. The reason is that they are meant to be used during painting and left-:kbd:`Shift` is at the opposite end of the keyboard from :kbd:`I`, :kbd:`M` and :kbd:`N`. So for a right-handed painter, this is very difficult to do while using the stylus with a right hand. Note that you can reassign any shortcut by using the shortcut configuration in :menuselection:`Settings --> Configure Shortcuts`. Stabilization / Path Smoothing ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Using the freehand ‘paint with brush’ tool that you can find on the Tool Options, more settings for smoothing the path and stabilization of your brush strokes are available. Global pressure curve ^^^^^^^^^^^^^^^^^^^^^ If you find the feeling of Krita too hard or too soft regarding the pressure when you paint, you can set a softer or harder curve here: :menuselection:`Settings --> Configure Krita --> Tablet settings` Adjustment ^^^^^^^^^^ Like in PS, you can use the classic filters to adjust many things while painting: * :kbd:`Ctrl + L` : Levels * :kbd:`Ctrl + U`: HSV adjustment * :kbd:`Ctrl + I`: Invert Dodge / Burn / Blur Tools ^^^^^^^^^^^^^^^^^^^^^^^^^ Unlike Photoshop, where these are separate tools, in Krita, they are available via the Filter Brush Engine, which allows you to apply the majority of Krita's filters in brush form. Themes ^^^^^^ If you don’t like the dark default theme of Krita go to: :menuselection:`Settings --> Themes`, and choose a brighter or darker theme. If you don’t like the color outside your viewport go to: :menuselection:`Settings --> Configure Krita --> Display`, and change the Canvas border color. What Krita Has Over Photoshop ----------------------------- As mentioned in the introduction, Krita is a specialized paint application. Thus, it also has specialized tools for painting. Similar tools are not found in more generalized image manipulation applications such as PS. Here is a short list of the most important ones. Brush Engines ~~~~~~~~~~~~~ Krita has a lot of different so-called brush engines. These brush engines define various methods on how the pixels end up on your canvas. Brush engines with names like Grid, Particles, Sketch and others will bring you new experiences on how the brushes work and a new landscape of possible results. You can start customizing brushes by using the brush-settings editor, which is accessible via the toolbar, but it's much easier to just press :kbd:`F5`. Tags for brush presets ~~~~~~~~~~~~~~~~~~~~~~ This is a very useful way to configure brush presets. Each brush can have any amount of tags and be in any group. You can make tag for blending brushes, for texture brushes, for effect brushes, favorites etc. Settings curves ~~~~~~~~~~~~~~~ -You can set setting to pressure(speed/distance/tilt/random/etc) relation for each brush setting. +You can set setting to pressure (speed/distance/tilt/random/etc.) relation for each brush setting. .. image:: /images/en/Settings-curves.jpg :align: center The Pop-up Palette ~~~~~~~~~~~~~~~~~~ .. image:: /images/en/Krita-popuppalette.png :align: center Easily to be found on |mouseright|, the pop-up palette allows you to quickly access brushes, color history and a color selector within arm's reach. The brushes are determined by tag, and pressing the lower-right configure button calls a drop-down to change tags. This allows you to tag brushes in the preset docker by workflow, and quickly access the right brushes for the workflow you need for your image. Transformations ~~~~~~~~~~~~~~~ The Krita transformation tool can perform transformations on a group and affect child layers. There are several modes, like free, perspective, warp, the powerful cage and even liquify. Furthermore, you can use transformation masks to apply transforms non-destructively to any layer type, raster, vector group, you name it. .. figure:: /images/en/Krita-transform-mask.png :align: center :figwidth: 800 Transform masks allows non-destructive transforms Incremental Save ~~~~~~~~~~~~~~~~ You can save your artwork with the pattern : myartworksname_001.kra , myartworksname_002.kra, myartworksname_003.kra etc, by pressing a single key on the keyboard. Krita will increment the final number if the pattern "_XXX" is recognized at the end of the file's name. .. image:: /images/en/Krita-incremental-saves.png :align: center This feature allows you to avoid overwriting your files, and keep track to your older version and work in progress steps. Color to alpha Filter ~~~~~~~~~~~~~~~~~~~~~ If you want to delete the white of the paper from a scanned artwork , you can use this filter. It takes a color and turns it into pure transparency. .. image:: /images/en/Krita-color-to-alpha.png :align: center Many Blending Modes ~~~~~~~~~~~~~~~~~~~ If you like using blending modes, Krita has many of them -- over 70! You have plenty of room for experimentation. A special system of favorite blending modes has been created to let you have fast access to the ones you use the most. Painting Assistants ~~~~~~~~~~~~~~~~~~~ Krita has many painting assistants. This is a special type vector shapes with a magnetic influence on your brush strokes. You can use them as rulers, but with other shapes than just straight .. figure:: /images/en/Krita_basic_assistants.png :align: center :figwidth: 800 Krita's vanishing point assistants in action Multibrushes: Symmetry / Parallel / Mirrored / Snowflake ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Krita's Multibrush tool allows you to paint with multiple brushes at the same time. Movements of the brushes other than the main brush is created by mirroring what you paint, or duplicating it by any number around any axis. They can also be used in parallel mode. .. image:: /images/en/Krita-multibrush.png :align: center A Wide Variety of Color Selectors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 'advanced color selector' docker offer you a wide choice of color selectors. .. image:: /images/en/Krita_Color_Selector_Types.png :align: center View dependent color filters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using the lut docker, Krita allows you to have a separate color correction filter per view. While this is certainly useful to people who do color correction in daily life, to the artist this allows for seeing a copy of the image in luminance grayscale, so that they instantly know the values of the image. .. figure:: /images/en/Krita-view-dependant-lut-management.png :align: center :figwidth: 800 Using the LUT docker to change the colors per view HDR color painting ~~~~~~~~~~~~~~~~~~ This same LUT docker is the controller for painting with HDR colors. Using the LUT docker to change the exposure on the view, Krita allows you to paint with HDR colors, and has native open exr support! .. figure:: /images/en/Krita-hdr-painting.png :align: center :figwidth: 800 Painting with HDR colors What Krita Does Not Have ------------------------ Again, Krita is a digital paint application and Photoshop is an image manipulation program with some painting features. This means that there are things you can do in PS that you cannot do in Krita. This section gives a short list of these features. Filters ~~~~~~~ Krita has a pretty impressive pack of filters available, but you will probably miss one or two of the special filters or color adjustment tools you often use in Photoshop. For example, there is no possibility to tweak a specific color in HSV adjustment. Automatic healing tool ~~~~~~~~~~~~~~~~~~~~~~ Krita does not have an automatic healing tool. It does, however, have a so-called clone tool which can be used to do a healing correction, although not automatically. Macro Recording ~~~~~~~~~~~~~~~ Macro recording and playback exists in Krita, but it is not working well at this time. Text Tool ~~~~~~~~~ The text tool in Krita is less advanced than the similar tool in Photoshop. Blending Modes While Transforming ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you transform a layer or a selection in Krita, the transformation appears on the top of your layer stack ignoring the layer blending mode. Other ~~~~~ Also, you cannot ‘Export for web’, ‘Image Ready’ for Gif frame or slicing web image, etc Conclusion ---------- Using these tips you will probably be up to speed with Krita in a short time. If you find other things worth mentioning in this document we, the authors, would be interested in hearing about them. Krita develops fast, so we believe that the list of things possible in Photoshop but not in Krita will become shorter in time. We will maintain this document as this happens. diff --git a/user_manual/introduction_from_other_software/introduction_from_sai.rst b/user_manual/introduction_from_other_software/introduction_from_sai.rst index f2e8bb2ee..c256bea1d 100644 --- a/user_manual/introduction_from_other_software/introduction_from_sai.rst +++ b/user_manual/introduction_from_other_software/introduction_from_sai.rst @@ -1,216 +1,216 @@ .. meta:: :description: This is a introduction to Krita for users coming from Painttool Sai. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - AnetK - Boudewijn Rempt :license: GNU free documentation license 1.3 or later. .. index:: Sai, Painttool Sai .. _introduction_from_sai: =============================================== Introduction to Krita coming from Painttool Sai =============================================== How do you do that in Krita? ---------------------------- This section goes over the functionalities that Krita and Paint Tool Sai share, but shows how they slightly differ. Canvas navigation ~~~~~~~~~~~~~~~~~ Krita, just like Sai, allows you to flip, rotate and duplicate the view. Unlike Sai, these are tied to keyboard keys. Mirror This is tied to :kbd:`M` to flip. Rotate - There's a couple of possibilities here: either :kbd:`4` and :kbd:`6`, or :kbd:`ctrl`+:kbd:`[` and :kbd:`ctrl+]` for basic 15 degrees rotation left and right. But you can also have more sophisticated rotation with :kbd:`Shift + Space` + drag or :kbd:`shift` + |mousemiddle| + drag. To reset the rotation, press :kbd:`5`. + There's a couple of possibilities here: either :kbd:`4` and :kbd:`6`, or :kbd:`Ctrl`+:kbd:`[` and :kbd:`Ctrl+]` for basic 15 degrees rotation left and right. But you can also have more sophisticated rotation with :kbd:`Shift + Space` + drag or :kbd:`Shift` + |mousemiddle| + drag. To reset the rotation, press :kbd:`5`. Zoom - You can use :kbd:`+` and :kbd:`-` to zoom out and in, or use :kbd:`ctrl` + |mousemiddle|. Use 1, 2 or 3 to reset the zoom, fit the zoom to page or fit the zoom to page width. + You can use :kbd:`+` and :kbd:`-` to zoom out and in, or use :kbd:`Ctrl` + |mousemiddle|. Use 1, 2 or 3 to reset the zoom, fit the zoom to page or fit the zoom to page width. You can use the Overview docker in :menuselection:`settings --> dockers` to quickly navigate over your image. You can also put these commands on the toolbar, so it'll feel a little like Sai. Go to :menuselection:`settings --> configure Toolbars`. There are two toolbars, but we'll add to the file toolbar. Then, you can type in something in the left column to search for it. So, for example, 'undo'. Then select the action 'undo freehand stroke' and drag it to the right. Select the action to the right, and click :menuselection:`change text`. There, toggle :menuselection:`hide text when toolbar shows action alongside icon` to prevent the action from showing the text. Then press OK. When done right, the :guilabel:`undo` should now be sandwiched between the save and the gradient icon. You can do the same for :guilabel:`Redo`, :guilabel:`Deselect`, :guilabel:`Invert Selection`, :guilabel:`zoom out`, :guilabel:`zoom in`, :guilabel:`reset zoom`, :guilabel:`rotate left`, :guilabel:`rotate right`, :guilabel:`mirror view` and perhaps :guilabel:`smoothing:basic` and :guilabel:`smoothing: stabilizer` to get nearly all the functionality of Sai's top bar in Krita's top bar. (Though, on smaller screens this will cause all the things in the brushes toolbar to hide inside a drop down to the right, so you need to experiment a little). -:guilabel:`Hide Selection`, :guilabel:`Reset Rotation` are currently not available via the Toolbar configuration, you'll need to use the shortcuts :kbd:`Ctrl`+:kbd:`h` and :kbd:`5` to toggle these. +:guilabel:`Hide Selection`, :guilabel:`Reset Rotation` are currently not available via the Toolbar configuration, you'll need to use the shortcuts :kbd:`Ctrl`+:kbd:`H` and :kbd:`5` to toggle these. .. note:: Krita 3.0 currently doesn't allow changing the text in the toolbar, we're working on it. Right click color picker ~~~~~~~~~~~~~~~~~~~~~~~~ -You can actually set this in :menuselection:`settings --> configure Krita --> canvas input settings --> alternate invocation`. Just double-click the entry that says :kbd:`ctrl` + |mouseleft| before 'pick foreground color from image' to get a window to set it to |mouseright|. +You can actually set this in :menuselection:`Settings --> Configure Krita --> Canvas input settings --> Alternate invocation`. Just double-click the entry that says :kbd:`Ctrl` + |mouseleft| before 'pick foreground color from image' to get a window to set it to |mouseright|. .. note:: Krita 3.0 actually has a Paint-tool Sai-compatible input sheet shipped by default. Combine these with the shortcut sheet for Paint tool Sai to get most of the functionality on familiar hotkeys. Stabilizer ~~~~~~~~~~ This is in the tool options docker of the freehand brush. Use Basic Smoothing for more advanced tablets, and Stabilizer is much like Paint Tool Sai's. Just turn off 'Delay' so that the dead-zone disappears. Transparency ~~~~~~~~~~~~~ -So one of the things that throw a lot of Paint Tool Sai users off is that Krita uses checkers to display transparency, which is actually not that uncommon. Still, if you want to have the canvas background to be white, this is possible. Just choose 'Background: As Canvas Color' in the new image dialogue and the image background will be white. You can turn it back to transparent via :menuselection:`image --> change image background color`. If you export a PNG or JPG, make sure to uncheck 'save transparency' and to make the background color white(it's black by default). +So one of the things that throw a lot of Paint Tool Sai users off is that Krita uses checkers to display transparency, which is actually not that uncommon. Still, if you want to have the canvas background to be white, this is possible. Just choose 'Background: As Canvas Color' in the new image dialogue and the image background will be white. You can turn it back to transparent via :menuselection:`image --> change image background color`. If you export a PNG or JPG, make sure to uncheck 'save transparency' and to make the background color white (it's black by default). .. image:: /images/en/Krita-color-to-alpha.png :align: center Like Sai, you can quickly turn a black and white image to black and transparent with the :menuselection:`Color to Alpha Filter` under :menuselection:`Filters --> Colors --> Color to Alpha` Brush Settings ~~~~~~~~~~~~~~ Another, somewhat amusing misconception is that Krita's brush engine is not very complex. After all, you can only change the Size, Flow and Opacity from the top bar. -This is not quite true. It's rather that we don't have our brush settings in a docker but a drop-down on the toolbar. The easiest way to access this is with :kbd:`f5`. As you can see, it's actually quite complex. We have more than a dozen brush engines, which are a type of brush you can make. The ones you are used to from Paint Tool Sai are the Pixel Brush(ink), The Color Smudge Brush(Brush) and the filter brush(dodge, burn). +This is not quite true. It's rather that we don't have our brush settings in a docker but a drop-down on the toolbar. The easiest way to access this is with :kbd:`F5`. As you can see, it's actually quite complex. We have more than a dozen brush engines, which are a type of brush you can make. The ones you are used to from Paint Tool Sai are the Pixel Brush (ink), The Color Smudge Brush (brush) and the filter brush (dodge, burn). -A simple inking brush recipe for example is to take a pixel brush, uncheck the 'enable pen-settings' on opacity and flow, and uncheck everything but size from the option list. Then, go into brush-tip, pick :ref:`auto_brush_tip` from the tabs, and set the size to 25(right-click a blue bar if you want to input numbers), turn on anti-aliasing under the brush icon, and set fade to 0.9. Then, as a final touch, set spacing to 'auto' and the spacing number to 0.8. +A simple inking brush recipe for example is to take a pixel brush, uncheck the 'enable pen-settings' on opacity and flow, and uncheck everything but size from the option list. Then, go into brush-tip, pick :ref:`auto_brush_tip` from the tabs, and set the size to 25 (right-click a blue bar if you want to input numbers), turn on anti-aliasing under the brush icon, and set fade to 0.9. Then, as a final touch, set spacing to 'auto' and the spacing number to 0.8. You can configure the brushes in a lot of detail, and share the packs with others. Importing of packs and brushes can be done via the :menuselection:`settings --> manage resources`, where you can import .bundle files or .kpp files. Erasing ~~~~~~~ Erasing is a blending mode in Krita, much like the transparency mode of Paint Tool Sai. It's activated with :kbd:`E` or you can select it from the Blending Mode drop-down... Blending Modes ~~~~~~~~~~~~~~ Krita has a lot of Blending modes, and thankfully all of Paint Tool Sai's are amongst them except binary. To manage the blending modes, each of them has a little check-box that you can tick to add them to the favorites. Multiple, Screen, Overlay and Normal are amongst the favorites. Krita's Luminosity is actually slightly different from Paint Tool Sai's and it replaces the relative brightness of color with the relative brightness of the color of the layer. Sai's Luminosity mode is actually the same as Krita's *Addition* or *linear dodge* mode. The Shade mode is the same as *Color Burn* and *Hard Mix* is the same as the lumi and shade mode. Layers ~~~~~~ Lock Alpha This is the checker box icon next to every layer. Clipping group - For Clipping masks in Krita you'll need to put all your images in a single layer, and then press the 'a' icon, or press :kbd:`ctrl`+:kbd:`shift`+:kbd:`G` + For Clipping masks in Krita you'll need to put all your images in a single layer, and then press the 'a' icon, or press :kbd:`Ctrl`+:kbd:`Shift`+:kbd:`G` Ink layer This is a vector layer in Krita, and also holds the text. Masks These grayscale layers that allow you to affect the transparency are called transparency masks in Krita, and like Painttool Sai, they can be applied to groups as well as layers. If you have a selection and make a transparency mask, it will use the selection as a base. Clearing a layer This is under :menuselection:`edit --> clear`, but you can also just press :kbd:`Del`. Mixing between two colors ~~~~~~~~~~~~~~~~~~~~~~~~~ If you liked this docker in Paint Tool Sai, Krita's Digital Color Selector docker will be able to help you. Dragging the sliders will change how much of a color is mixed in. What do you get extra when using Krita? --------------------------------------- More brush customization ~~~~~~~~~~~~~~~~~~~~~~~~ You already met the brush settings editor. Sketch brushes, grid brushes, deform brushes, clone brushes, brushes that are textures, brushes that respond to tilt, rotation, speed, brushes that draw hatches and brushes that deform the colors. Krita's variety is quite big. More color selectors ~~~~~~~~~~~~~~~~~~~~ You can have HSV sliders, RGB sliders, triangle in a hue ring. But you can also have HSI, HSL or HSY' sliders, CMYK sliders, palettes, round selectors, square selectors, tiny selectors, big selectors, color history and shade selectors. Just go into :menuselection:`settings --> configure Krita --> advanced color selector settings` to change the shape and type of the main big color selector. .. image:: /images/en/Krita_Color_Selector_Types.png :align: center -You can call the color history with :kbd:`h`, common colors with :kbd:`u` and the two shade selectors with :kbd:`shift`+:kbd:`n` and :kbd:`shift`+:kbd:`m`. The big selector can be called with :kbd:`shift`+:kbd:`i` on canvas. +You can call the color history with :kbd:`H`, common colors with :kbd:`U` and the two shade selectors with :kbd:`Shift`+:kbd:`N` and :kbd:`Shift`+:kbd:`M`. The big selector can be called with :kbd:`Shift`+:kbd:`I` on canvas. Geometric Tools ~~~~~~~~~~~~~~~ Circles, rectangles, paths, Krita allows you to draw these easily. Multibrush, Mirror Symmetry and Wrap Around ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These tools allow you to quickly paint a mirrored image, mandala or tiled texture in no time. Useful for backgrounds and abstract vignettes. .. image:: /images/en/Krita-multibrush.png :align: center Assistants ~~~~~~~~~~ The painting assistants can help you to set up a perspective, or a concentric circle and snap to them with the brush. .. figure:: /images/en/Krita_basic_assistants.png :alt: Krita's vanishing point assistants in action :width: 800 Krita's vanishing point assistants in action Locking the Layer ~~~~~~~~~~~~~~~~~ Lock the layer with the padlock so you don't draw on it. Quick Layer select ~~~~~~~~~~~~~~~~~~ If you hold :kbd:`R` and press a spot on your drawing, Krita will select the layer underneath the cursor. Really useful when dealing with a large number of layers. Color Management ~~~~~~~~~~~~~~~~ This allows you to prepare your work for print, or to do tricks with the LUT docker so you can diagnose your image better. For example, using the LUT docker to turn the colors grayscale in a separate view, so you can see the values instantly. .. image:: /images/en/Krita-view-dependant-lut-management.png :align: center Advanced Transform Tools ~~~~~~~~~~~~~~~~~~~~~~~~ Not just rotate and scale, but also cage, wrap, liquify and non-destructive transforms with the transform tool and masks. .. image:: /images/en/Krita_transforms_recursive.png :align: center More Filters and non-destructive filter layers and masks ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ With filters like color balance and curves you can make easy shadow layers. In fact, with the filter layers and layer masks you can make them apply on the fly as you draw underneath. .. image:: /images/en/Krita_ghostlady_3.png :align: center Pop-up palette ~~~~~~~~~~~~~~~ This is the little circular thing that is by default on the right click. You can organize your brushes in tags, and use those tags to fill up the pop-up palette. It also keeps a little color selector and color history, so you can switch brushes on the fly. .. image:: /images/en/Krita-popuppalette.png :align: center What does Krita lack compared to Paint Tool Sai? ------------------------------------------------ * Variable width vector lines * The selection source option for layers -* Dynamic hard-edges for strokes(the fringe effect) +* Dynamic hard-edges for strokes (the fringe effect) * No mix-docker. * No Preset-tied stabilizer. * No per-preset hotkeys. Conclusion ---------- I hope this introduction got you a little more excited to use Krita, if not feel a little more at home. diff --git a/user_manual/loading_saving_brushes.rst b/user_manual/loading_saving_brushes.rst index 8e0059453..f86a09122 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, etcetera. All these have different ways of making marks. +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 rollerbal pens, different brush engines have totally +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 dropdown --------------------------- To start, the Brush Settings Editor panel can be accessed in the toolbar, between the Blending Modes button on the right and the Patterns -button on the left. Alternately, you can use the function key f5 to open +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 dropdown ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: /images/en/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 +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. +Saving a preset '''''''''''''''' -On the right, there's :guilabel:`Save New Preset` and :guilabel:`Overwrite Preset`. +On the right, there's :guilabel:`Save New Brush Preset` and :guilabel:`Overwrite Brush`. -Overwrite Preset +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 Preset +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/en/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) + 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/en/Krita_4_0_Preset_Icon_Library_Dialog.png It allows you to select tool icons, and an optional small emblem. When you press 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 +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, ad 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 save in the Save New 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 dropdown on F6. It's unique in that it allows you to filter by +preset dropdown 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 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 Preset dialog. The scratch pad has five buttons underneath it. These are in order for: #. Showing the current brush image -#. Adding a gradient to the scratch pad(useful for smudge brushes) +#. 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/en/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 face 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, the revert to default. Dirtied presets can be recognized by the icon in the top-left of the preset. .. figure:: /images/en/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 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 “save new preset”. You will get the save preset dialog. Name the brush something like “My Preset”. Then, select “Load from Icon Library” to get the icon library. Choose a nice tool icon and press 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 “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 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. #. 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 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 dropdown(f5) and then go to the “brush-tip” option. There, +settings dropdown (: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 (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/painting_with_assistants.rst b/user_manual/painting_with_assistants.rst index 67dc51726..145788d45 100644 --- a/user_manual/painting_with_assistants.rst +++ b/user_manual/painting_with_assistants.rst @@ -1,269 +1,269 @@ .. meta:: :description: How to use the painting assistants in Krita to draw perspectives. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: ! Painting Assistants .. _painting_with_assistants: ======================== Painting with Assistants ======================== The assistant system allows you to have a little help while drawing straight lines or circles. They can function as a preview shape, or you can snap onto them with the freehand brush tool. In the tool options of free hand brush, you can toggle 'snap to assistant' to turn on snapping. .. figure:: /images/en/Krita_basic_assistants.png :alt: Krita's vanishing point assistants in action :width: 800 Krita's vanishing point assistants in action The following assistants are available in Krita: -Types: +Types ------ There are several types in Krita. You can select a type of assistant via the tool options docker. .. _assistant_ellipse: Ellipse ~~~~~~~ An assistant for drawing ellipses and circles. This assistant consists of three points: the first two are the axis of the ellipse, and the last one is to determine its width. Concentric Ellipse The same an ellipse, but allows for making ellipses that are concentric to each other. If you press shift while holding the first two handles, they will snap to perfectly horizontal or vertical lines. Press Shift while holding the third handle, and it'll snap to a perfect circle. .. _assistant_perspective: Perspective ~~~~~~~~~~~ This ruler takes four points and creates a perspective grid. This grid can be used with the 'perspective' sensor, which can influence brushes. If you press shift while holding any of the corner handles, they'll snap to one of the other corner handles, in sets. .. _assistant_ruler: Ruler ~~~~~ There are three assistants in this group: Ruler Helps create a straight line between two points. Infinite Ruler Extrapolates a straight line beyond the two visible points on the canvas. Parallel Ruler This ruler allows you to draw a line parallel to the line between the two points anywhere on the canvas. If you press shift while holding the first two handles, they will snap to perfectly horizontal or vertical lines. .. _assistant_spline: Spline ~~~~~~ This assistant allows you to position and adjust four points to create a cubic bezier curve. You can then draw along the curve, snapping your brush stroke directly to the curve line. Perfect curves every time! If you press shift while holding the first two handles, they will snap to perfectly horizontal or vertical lines. Press shift while holding the third or fourth handle, they will snap relative to the handle they are attached to. .. _assistant_vanishing_point: Vanishing Point ~~~~~~~~~~~~~~~ This assistant allows you to create a vanishing point, typically used for a horizon line. A preview line is drawn and all your snapped lines are drawn to this line. It is one point, with four helper points to align it to previously created perspective lines. They are made and manipulated with the :ref:`assistant_tool`. If you press shift while holding the center handle, they will snap to perfectly horizontal or vertical lines depending on the position of where it previously was. .. versionchanged:: 4.1 The vanishing point assistant also shows several general lines. When you've just created, or when you've just moved a vanishing point assistant, it will be selected. This means you can modify the amount of lines shown in the tool options of the :ref:`assistant_tool`. .. _assistant_fish_eye: Fish Eye Point ~~~~~~~~~~~~~~ Like the vanishing point assistant, this assistant is per a set of parallel lines in a 3d space. So to use it effectively, use two, where the second is at a 90 degrees angle of the first, and add a vanishing point to the center of both. Or combine one with a parallel ruler and a vanishing point, or even one with two vanishing points. The possibilities are quite large. This assistant will not just give feedback/snapping between the vanishing points, but also give feedback to the relative left and right of the assistant. This is so you can use it in edge-cases like panoramas with relative ease. If you press shift while holding the first two handles, they will snap to perfectly horizontal or vertical lines. Press shift while holding the third handle, and it'll snap to a perfect circle. Tutorials ^^^^^^^^^ Check out this in depth discussion and tutorial on https://www.youtube.com/watch?v=OhEv2pw3EuI .. index:: Technical Drawing, Perspective Setting up Krita for technical drawing-like perspectives -------------------------------------------------------- So now that you've seen the wide range of drawing assistants that Krita offers, here is an example of how using these assistants you can set up Krita for technical drawing. This tutorial below should give you an idea of how to set up the assistants for specific types of technical views. If you want to instead do the true projection, check out :ref:`the projection category `. Orthographic ~~~~~~~~~~~~ Orthographic is a mode where you try to look at something from the left or the front. Typically, you try to keep everything in exact scale with each other, unlike perspective deformation. The key assistant you want to use here is the Parallel Ruler. You can set these up horizontally or vertically, so you always have access to a Grid. Axonometric ~~~~~~~~~~~ All of these are set up using three Parallel Rulers. .. image:: /images/en/Assistants_oblique.png Oblique For oblique, set two parallel rulers to horizontal and vertical, and one to an angle, representing depth. .. image:: /images/en/Assistants_dimetric.png Dimetric & Isometric Isometric perspective has technically all three rulers set up at 120° from each other. Except when it's game isometric, then it's a type of dimetric projection where the diagonal values are a 116.565° from the main. The latter can be easily set up by snapping the assistants to a grid. .. image:: /images/en/Assistants_trimetric.png Trimetric Is when all the angles are slightly different. Often looks like a slightly angled isometric. Linear Perspective ~~~~~~~~~~~~~~~~~~ .. image:: /images/en/Assistants_1_point_perspective.png 1 Point Perspective A 1 point perspective is set up using 1 vanishing point, and two crossing perpendicular parallel rulers. .. image:: /images/en/Assistants_2_point_perspective.png 2 Point Perspective A 2 point perspective is set up using 2 vanishing point and 1 vertical parallel ruler. Often, putting the vanishing points outside the frame a little can decrease the strength of it. .. image:: /images/en/Assistants_2_pointperspective_02.png .. image:: /images/en/Assistants_3_point_perspective.png 3 Point Perspective A 3 point perspective is set up using 3 vanishing point rulers. Logic of the vanishing point ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There's a little secret that perspective tutorials don't always tell you, and that's that a vanishing point is the point where any two parallel lines meet. This means that a 1 point perspective and 2 point perspective are virtually the same. We can prove this via a little experiment. That good old problem: drawing a rail-road. .. image:: /images/en/Assistants_vanishing_point_logic_01.png You are probably familiar with the problem: How to determine where the next beam is going to be, as perspective projection will make them look closer together. Typically, the solution is to draw a line in the middle and then draw lines diagonally across. After all, those lines are parallel, meaning that the exact same distance is used. .. image:: /images/en/Assistants_vanishing_point_logic_02.png But because they are parallel, we can use a vanishing point assistant instead, and we use the alignment handles to align it to the diagonal of the beam, and to the horizontal (here marked with red). That diagonal can then in turn be used to determine the position of the beams: .. image:: /images/en/Assistants_vanishing_point_logic_03.png -Because any given set of lines has a vanishing point(outside of the ones flat on the view-plane), there can be an infinite amount of vanishing points in a linear perspective. Therefore, Krita allows you to set vanishing points yourself instead of forcing you to only use a few. +Because any given set of lines has a vanishing point (outside of the ones flat on the view-plane), there can be an infinite amount of vanishing points in a linear perspective. Therefore, Krita allows you to set vanishing points yourself instead of forcing you to only use a few. Fish Eye perspective ~~~~~~~~~~~~~~~~~~~~ Fish eye perspective works much the same as the linear perspective, the big difference being that in a fish-eye perspective, any parallel set of lines has two vanishing points, each for one side. So, to set them up, the easiest way is one horizontal, one vertical, on the same spot, and one vanishing point assistant in the middle. .. image:: /images/en/Fish-eye.gif But, you can also make one horizontal one that is just as big as the other horizontal one, and put it halfway: .. image:: /images/en/Assistants_fish-eye_2_02.png diff --git a/user_manual/snapping.rst b/user_manual/snapping.rst index a25e17a9d..00469d6a1 100644 --- a/user_manual/snapping.rst +++ b/user_manual/snapping.rst @@ -1,101 +1,101 @@ .. meta:: :description: How to use the snapping functionality in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Snap, Vector, Guides .. _snapping: ======== Snapping ======== In Krita 3.0, we now have functionality for Grids and Guides, but of course, this functionality is by itself not that interesting without snapping. Snapping is the ability to have Krita automatically align a selection or shape to the grids and guides, document center and document edges. For Vector layers, this goes even a step further, and we can let you snap to bounding boxes, intersections, extrapolated lines and more. All of these can be toggled using the snap pop-up menu which is assigned to :kbd:`Shift+S`. Now, let us go over what each option means: Grids This will snap the cursor to the current grid, as configured in the grid docker. This doesn’t need the grid to be visible. Grids are saved per document, making this useful for aligning your art work to grids, as is the case for game sprites and grid-based designs. Guides This allows you to snap to guides, which can be dragged out from the ruler. Guides do not need to be visible for this, and are saved per document. This is useful for comic panels and similar print-layouts, though we recommend Scribus for more intensive work. .. image:: /images/en/Snap-orthogonal.png Orthogonal (Vector Only) This allows you to snap to a horizontal or vertical line from - existing vector objects’s nodes(Unless dealing with resizing the + existing vector objects’s nodes (Unless dealing with resizing the height or width only, in which case you can drag the cursor over the path). This is useful for aligning object horizontally or vertically, like with comic panels. .. image:: /images/en/Snap-node.png Node (Vector Only) This snaps a vector node or an object to the nodes of another path. .. image:: /images/en/Snap-extension.png Extension (Vector Only) When we draw an open path, the last nodes on either side can be mathematically extended. This option allows you to snap to that. The direction of the node depends on its side handles in path editing mode. .. image:: /images/en/Snap-intersection.png Intersection (Vector Only) This allows you to snap to an intersection of two vectors. Bounding box (Vector Only) This allows you to snap to the bounding box of a vector shape. Image bounds Allows you to snap to the vertical and horizontal borders of an image. Image center Allows you to snap to the horizontal and vertical center of an image. The snap works for the following tools: #. Straight line #. Rectangle #. Ellipse #. Polyline #. Path #. Freehand path #. Polygon #. Gradient #. Shape Handling tool #. The Text-tool #. Assistant editing tools #. The move tool (note that it snaps to the cursor position and not the bounding box of the layer, selection or whatever you are trying to move) #. The Transform tool #. Rectangle select #. Elliptical select #. Polygonal select #. Path select #. Guides themselves can be snapped to grids and vectors. Snapping doesn’t have a sensitivity yet, and by default is set to 10 screen pixels. diff --git a/user_manual/soft_proofing.rst b/user_manual/soft_proofing.rst index 8faf38481..71c0ad6b5 100644 --- a/user_manual/soft_proofing.rst +++ b/user_manual/soft_proofing.rst @@ -1,80 +1,80 @@ .. meta:: :description: How to use softproofing in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Color, Softproofing .. _soft_proofing: ============= Soft Proofing ============= When we make an image in Krita, and print that out with a printer, the image tends to look different. The colours are darker, or less dark than expected, maybe the reds are more aggressive, maybe contrast is lost. For simple documents, this isn’t much of a problem, but for professional prints, this can be very sad, as it can change the look and feel of an image drastically. -The reason this happens is simply because the printer uses a different color model(CMYK) and it has often access to a lower range of colors(called a gamut). +The reason this happens is simply because the printer uses a different color model (CMYK) and it has often access to a lower range of colors (called a gamut). A naive person would suggest the following solution: do your work within the CMYK color model! But there are three problems with that: * Painting in a CMYK space doesn’t guarantee that the colors will be the same on your printer. For each combination of Ink, Paper and Printing device, the resulting gamut of colors you can use is different. Which means that each of these could have a different profile associated with them. * Furthermore, even if you have the profile and are working in the exact color space that your printer can output, the CMYK color space is very irregular, meaning that the color maths isn’t as nice as in other spaces. Blending modes are different in CMYK as well. * Finally, working in that specific CMYK space means that the image is stuck to that space. If you are preparing your work for different a CMYK profile, due to the paper, printer or ink being different, you might have a bigger gamut with more bright colors that you would like to take advantage of. So ideally, you would do the image in RGB, and use all your favorite RGB tools, and let the computer do a conversion to a given CMYK space on the fly, just for preview. This is possible, and is what we call ''Soft Proofing''. .. figure:: /images/en/Softproofing_regularsoftproof.png :align: center :figwidth: 800 On the left, the original, on the right, a view where soft proofing is turned on. The difference is subtle due to the lack of really bright colors, but the soft proofed version is slightly less blueish in the whites of the flowers and slightly less saturated in the greens of the leaves. You can toggle soft proofing on any image using :kbd:`Ctrl + Y`. Unlike other programs, this is per-view, so that you can look at your image non-proofed and proofed, side by side. The settings are also per image, and saved into the .kra file. You can set the proofing options in :menuselection:`image --> image properties --> Soft Proofing`. There you can set the following options: Profile, Depth, Space Of these, only the profile is really important. This will serve as the profile you are proofing to. In a professional print workflow, this profile should be determined by the printing house. Intent Set the proofing Intent. It uses the same intents as the intents mentioned in the color managed workflow. .. figure:: /images/en/Softproofing_adaptationstate.png :align: center :figwidth: 800 Left: Soft proofed image with Adaptation state slider set to max. Right: Soft proofed image with Adaptation State set to minimum Adaptation State - A feature which allows you to set whether :guilabel:`Absolute Colorimetric` will make the white in the image screen-white during proofing(The slider set to max), or whether it will use the white point of the profile(The slider set to minimum). Often CMYK profiles have a different white as the screen, or amongst one another due to the paper color being different. + A feature which allows you to set whether :guilabel:`Absolute Colorimetric` will make the white in the image screen-white during proofing (the slider set to max), or whether it will use the white point of the profile (the slider set to minimum). Often CMYK profiles have a different white as the screen, or amongst one another due to the paper color being different. Black Point Compensation Set the black point compensation. Turning this off will crunch the shadow values to the minimum the screen and the proofing profile can handle, while turning this on will scale the black to the screen-range, showing you the full range of grays in the image. Gamut Warning Set the color of the out-of-gamut warning. You can set the defaults that Krita uses in :menuselection:`Settings --> Configure Krita --> Color Management` -To configure this properly, it's recommended to make a test image to print(and that is printed by a properly set-up printer) and compare against, and then approximate in the proofing options how the image looks compared to the real-life copy you have made. +To configure this properly, it's recommended to make a test image to print (and that is printed by a properly set-up printer) and compare against, and then approximate in the proofing options how the image looks compared to the real-life copy you have made. Out of Gamut Warning -------------------- The out of gamut warning, or gamut alarm, is an extra option on top of Soft-Proofing: It allows you to see which colors are being clipped, by replacing the resulting color with the set alarm color. This can be useful to determine where certain contrasts are being lost, and to allow you to change it slowly to a less contrasted image. .. figure:: /images/en/Softproofing_gamutwarnings.png :align: center :figwidth: 800 Left: View with original image, Right: View with soft proofing and gamut warnings turned on. Krita will save the gamut warning color alongside the proofing options into the Kra file, so pick a color that you think will stand out for your current image. You can activate Gamut Warnings with :kbd:`Ctrl + Shift + Y`, but it needs soft proofing activated to work fully. .. note:: Soft Proofing doesn’t work properly in floating-point spaces, and attempting to force it will cause incorrect gamut alarms. It is therefore disabled. .. warning:: Gamut Warnings sometimes give odd warnings for linear profiles in the shadows. This is a bug in LCMS, see `here `_ for more info. diff --git a/user_manual/vector_graphics.rst b/user_manual/vector_graphics.rst index f6448e881..9d79840e7 100644 --- a/user_manual/vector_graphics.rst +++ b/user_manual/vector_graphics.rst @@ -1,96 +1,96 @@ .. meta:: :description: Overview of vector graphics in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Marcidy :license: GNU free documentation license 1.3 or later. .. index:: Vector .. _vector_graphics: =============== Vector Graphics =============== Krita 4.0 has had a massive rewrite of the vector tools. So here's a page explaining the vector tools: What are vector graphics? ------------------------- Krita is primarily a raster graphics editing tool, which means that most of the editing changes the values of the pixels on the raster that makes up the image. .. image:: /images/en/Pixels-brushstroke.png Vector graphics on the other hand use mathematics to describe a shape. Because it uses a formula, vector graphics can be resized to any size. On one hand, this makes vector graphics great for logos and banners. On the other hand, raster graphics are much easier to edit, so vectors tend to be the domain of deliberate design, using a lot of precision. Tools for making shapes ----------------------- -You can start making vector graphics by first making a vector layer(press the arrow button next to the + in the layer docker to get extra layer types). Then, all the usual drawing tools outside of the freehand, dynamic and the multibrush tool can be used to draw shapes. +You can start making vector graphics by first making a vector layer (press the arrow button next to the + in the layer docker to get extra layer types). Then, all the usual drawing tools outside of the freehand, dynamic and the multibrush tool can be used to draw shapes. The path and polyline tool are the tools you used most often on a vector layer, as they allow you to make the most dynamic of shapes. On the other hand, the Ellipse and Rectangle tools allow you to draw special shapes, which then can be edited to make special pie shapes, or for easy rounded rectangles. The calligraphy and text tool also make special vectors. The calligraphy tool is for producing strokes that are similar to brush strokes, while the text tool makes a text object that can be edited afterwards. All of these will use the current brush size to determine stroke thickness, as well as the current foreground and background color. There is one last way to make vectors: The Vector Library docker. It allows you to add shapes that have been defined in an SVG file as symbols. Unlike the other tools, these have their own fill and stroke. Arranging Shapes ---------------- A vector layer has its own hierarchy of shapes, much like how the whole image has a hierarchy of layers. So shapes can be in front of one another. This can be modified with the arrange docker, or with the Select Shapes Tool. The arrange docker also allows you to group and ungroup shapes. It also allows you to precisely align shapes, for example, have them aligned to the center, or have an even spacing between all the shapes. Editing shapes -------------- Editing of vector shapes is done with the Select Shapes Tool and the Edit Shapes Tool. -The select shapes tool can be used to select vector shapes, to group them(via |mouseright|), ungroup them, to use booleans to combine or subtract shapes from one another(via |mouseright|), to move them up and down, or to do quick transforms. +The select shapes tool can be used to select vector shapes, to group them (via |mouseright|), ungroup them, to use booleans to combine or subtract shapes from one another (via |mouseright|), to move them up and down, or to do quick transforms. Fill ~~~~ You can change the fill of a shape by selecting it and changing the active foreground color. You can also change it by going into the tool options of the Select Shapes Tool and going to the fill tab. Vector shapes can be filled with a solid color, a gradient or a pattern. Stroke ~~~~~~ Strokes can be filled with the same things as fills. However, they can also be further changed. For example, you can add dashes and markers to the line. Coordinates ~~~~~~~~~~~ Shapes can be moved with the Select Shapes tool, and in the tool options you can specify the exact coordinates. Editing nodes and special parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you have a shape selected, you can double click it to get to the appropriate tool to edit it. Usually this is the Edit Shape Tool, but for Text this is the Text Tool. In the Edit Shape Tool, you can move around nodes on the canvas for regular paths. For special paths, like the ellipse and the rectangle, you can move nodes and edit the specific parameters in the tool options docker. Working together with other programs ------------------------------------ One of the big things Krita 4.0 brought was moving from ODG to SVG. What this means is that Krita saves as SVG inside KRA files, and that means we can open SVGs just fine. This is important as SVG is the most popular vector format. Inkscape ~~~~~~~~ You can copy and paste vectors from Krita to Inkscape, or from Inkscape to Krita. Only the SVG 1.1 features are supported, so don't be surprised if a mesh gradient doesn't cross over very well. diff --git a/user_manual/working_with_images.rst b/user_manual/working_with_images.rst index 55cdc6036..614918eb1 100644 --- a/user_manual/working_with_images.rst +++ b/user_manual/working_with_images.rst @@ -1,278 +1,278 @@ .. meta:: :description: Detailed steps on how images work in Krita .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Image, Document, Raster, Vector, Metadata .. _working_with_images: =================== Working with Images =================== Computers work with files and as a painting program, Krita works with images as the type of file it creates and manipulates. What do Images Contain? ----------------------- If you have a text document, it of course contains letters, strung in the right order, so the computer loads them as coherent sentences. Raster Data ~~~~~~~~~~~ This is the main data on the paint layers you make. So these are the strokes with the paint brush and look pixely up close. A multi-layer file will contain several of such layers, that get overlaid on top of each other so make the final image. A single layer file will usually only contain raster data. Vector Data ~~~~~~~~~~~ These are mathematical operations that tell the computer to draw pixels on a spot. This makes them much more scalable, because you just tell the operation to make the coordinates 4 times bigger to scale it up. Due to this vector data is much more editable, lighter, but at the same time it's also much more CPU intensive. Operation Data ~~~~~~~~~~~~~~ Stuff like the filter layers, that tells Krita to change the colors of a layer, but also transparency masks, group layer and transformation masks are saved to multi-layer files. Being able to load these depend on the software that initially made the file. So Krita can load and save groups, transparency masks and layer effects from PSD, but not load or save transform masks. Metadata -------- Metadata is information like the creation date, author, description and also information like DPI. Image size ---------- The image size is the dimension and resolution of the canvas. Image size has direct effect file size of the Krita document. The more pixels that need to be remembered and the higher the bit depth of the color, the heavier the resulting file will be. DPI/PPI ~~~~~~~ **DPI** stands for *Dots per Inch*, **PPI** stands for *Pixels per Inch*. In printing industry, suppose if your printer prints at 300 **DPI** It means it is actually putting 300 dots of colors in an area equal to an Inch. This means the number of pixels your artwork has in a relative area of an Inch. **DPI** is the concern of the printer, and artists while creating artwork should keep **PPI** in mind. According to the **PPI** you have set, the printers can decide how large your image should be on a piece of paper. Some standards: 72 PPI This is the default PPI of monitors as assumed by all programs. It is not fully correct, as most monitors these days have 125 PPI or even 300 PPI for the retina devices. None the less, when making an image for computer consumption, this is the default. 120 PPI This is often used as a standard for low-quality posters. 300 PPI This is the minimum you should use for quality prints. 600 PPI The quality used for line art for comics. Color depth ~~~~~~~~~~~ We went over color depth in the Color Management page. What you need to understand is that Krita has image color spaces, and layer color spaces, the latter which can save memory if used right. For example, having a line art layer in grayscale can half the memory costs. Image color space vs layer color space vs conversion. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because there's a difference between image color space and layer color space, you can change only the image color space in :menuselection:`Image --> Properties` which will leave the layers alone. But if you want to change the color space of the file including all the layers you can do it by going to Image > Convert Image Color Space this will convert all the layers Color space as well. Author and Description ---------------------- .. image:: /images/en/document_information_screen.png Krita will automatically save who created the image into your image's metadata. Along with the other data such as time and date of creation and modification, Krita also shows editing time of a document in the document information dialog, useful for professional illustrators, speed-painters to keep track of the time they worked on artwork for billing purposes. It detects when you haven’t performed actions for a while, and has a precision of +- 60 seconds. You can empty it in the document info dialog and of course by unzipping you .kra file and editing the meta-data there. These things can be edited in :menuselection:`File --> Document Information`, and for the author's information :menuselection:`Settings --> Configure Krita --> Author Information`. Profiles can be switched under :menuselection:`Settings --> Active Author Profile`. Setting the canvas background color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can set the canvas background color via :menuselection:`Image --> Image Background color and Transparency`. This allows you to turn the background color non-transparent and to change the color. This is also useful for certain file formats which force a background color instead of transparency. PNG and JPG export use this color as the default color to fill in transparency if you do not want to export transparency. If you come in from a program like :program:`Paint Tool Sai`, then using this option, or using :guilabel:`Set Canvas Background Color` in the new file options, will allow you to work in a slightly more comfortable environment, where transparency isn't depicted with checkered boxes. Basic transforms ~~~~~~~~~~~~~~~~ There are some basic transforms available in the image menu. Shear Image This will allow you to skew the whole image and its layers. Rotate This will allow you to rotate the image and all its layers quickly. Mirror Horizontal/Vertical This will allow you to mirror the whole image with all its layers. But there are more options than that... Cropping and resizing the canvas -------------------------------- You can crop and image with the :ref:`crop_tool`, to cut away extra space and improve the composition. Trimming ~~~~~~~~ Using :menuselection:`Image --> Trim to Layer`, Krita resizes the image to the dimensions of the layer selected. Useful for when you paste a too large image into the layer and want to resize the canvas to the extent of this layer. :menuselection:`Image --> Trim to Selection` is a faster cousin to the crop tool, This helps us to resize the canvas to the dimension of any active selection. This is especially useful with right clicking the layer on the layer stack and choosing Select Opaque. :menuselection:`Image --> Trim to Selection` will then crop the canvas to the selection bounding box. :menuselection:`Image --> Trim to Image Size` is actually for layers, and will trim all layers to the size of the image, making your files lighter by getting rid of invisible data. Resizing the canvas ------------------- You can also resize the canvas via :menuselection:`Image --> Resize Canvas`(or :kbd:`Ctrl + Alt + C`). The dialog box is shown below. .. image:: /images/en/Resize_Canvas.png In this, constraint proportions will make sure the height and width stay in proportion to each other as you change them. Offset makes indicates where the new canvas space is added around the current image. You -basically decide where the current image goes(if you press the +basically decide where the current image goes (if you press the left-button, it'll go to the center left, and the new canvas space will be added to the right of the image). Another way to resize the canvas according to the need while drawing is when you scroll away from the end of the canvas, you can see an arrow appear. Clicking this will extend the canvas in that direction. You can see the arrow marked in red in the example below .. image:: /images/en/Infinite-canvas.png :width: 700px Resizing the image ~~~~~~~~~~~~~~~~~~ :guilabel:`Scale Image to New Size` allows you to resize the whole image. Also, importantly, this is where you can change the resolution or *upres* your image. So for instance, if you were initially working at 72 PPI to block in large shapes and colors, images, etc... And now you want to really get in and do some detail work at 300 or 400 PPI this is where you would make the change. Like all other dialogs where a chain link appears, when the chain is linked the aspect ratio is maintained. To disconnect the chain, just click on the links and the two halves will separate. .. image:: /images/en/Scale_Image_to_New_Size.png Separating Images. ~~~~~~~~~~~~~~~~~~ .. image:: /images/en/Separate_Image.png This powerful image manipulation feature lets you separate an image into its different components or channels. This is useful for people working in print, or people manipulating game textures. There's no combine functionality, but what you can do, if using colored output, is to set two of the channels to the addition :ref:`blending_modes`. For grayscale images in the RGB space, you can use the copy red, copy green and copy blue blending modes, with using the red one for the red channel image, etc. Saving, Exporting and Opening Files ----------------------------------- When Krita creates or opens a file, it has a copy of the file in memory, that it edits. This is part of the way how computers work: They make a copy of their file in the ram. Thus, when saving, Krita takes it's copy and copies it over the existing file. There's a couple of tricks you can do with saving. Save Krita saves the current image in its memory to a defined place on the hard-drive. If the image hadn't been saved before, Krita will ask you where to save it. Save As Make a copy of your current file by saving it with a different name. Krita will switch to the newly made file as its active document. Open Open a saved file. Fairly straightforward. Export Save a file to a new location without actively opening it. Useful for when you are working on a layered file, but only need to save a flattened version of it to a certain location. Open Existing Document As Untitled Document This is a bit of an odd one, but it opens a file, and forgets where you saved it to, so that when pressing 'save' it asks you where to save it. This is also called 'import' in other programs. Create Copy from Current Image Makes a new copy of the current image. Similar to Open Existing Document As Untitled Document, but then with already opened files. Save Incremental Version Saves the current image as 'filename'\_XXX.kra and switches the current document to it. Save Incremental Backup. Exports the current image as 'filename'\_XXX.kra. .. note:: Since Krita's file format is compressed data file, in case of a corrupt or broken file you can open it with archive managers and extract the contents of the layers. This will help you to recover as much as possible data from the file. On windows, you will need to rename it to filename.zip to open it.