diff --git a/KritaFAQ.rst b/KritaFAQ.rst index 76cf97e38..1a58080e0 100644 --- a/KritaFAQ.rst +++ b/KritaFAQ.rst @@ -1,488 +1,488 @@ .. .. meta:: :description: Frequently asked Krita Questions. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Boudewijn Rempt - Alvin Wong - Dmitry Kazakov - Timothée Giet - Tokiedian - Nmaghfurusman - RJ Quiralta - Tyson Tan :license: GNU free documentation license 1.3 or later. .. index:: FAQ, Frequently Asked Questions .. _faq: .. _KritaFAQ: ######### Krita FAQ ######### This page contains common problems people have with Krita. Note that we assume that you are using the latest version of Krita. Please verify that to make sure. .. contents:: General ======= General questions What is Krita? -------------- This is our vision for the development of Krita: Krita is a free and open source cross-platform application that offers an end-to-end solution for creating digital art files from scratch. Krita is optimized for frequent, prolonged and focused use. Explicitly supported fields of painting are illustrations, concept art, matte painting, textures, comics and animations. Developed together with users, Krita is an application that supports their actual needs and workflow. Krita supports open standards and interoperates with other applications. Is it possible to use Krita in my own language, not English? ------------------------------------------------------------ Krita should automatically use the system language. If that is not the case, please follow these steps: #. :menuselection:`Settings --> Switch Application Language`. A small window will appear. #. Click :guilabel:`Primary language` and select your language. #. Click :guilabel:`OK` to close the window. #. Restart krita and it will be displayed in your selected language! If this doesn't work, you might have to add a fall-back language as well. This is a bug, but we haven't found the solution yet. Does Krita have layer clip or clipping mask? -------------------------------------------- Krita has no clipping mask, but it has a clipping feature called inherit alpha. Let's see :ref:`this page ` and learn how to do clipping in Krita! Where are the configuration files stored? ----------------------------------------- These are stored at the following places for the following operating systems: Linux :file:`$HOME/.config/kritarc` Windows :file:`%APPDATA%\\Local\\kritarc` MacOS X :file:`$HOME/Library/Preferences/kritarc` The kritarc file is the configuration file. Krita does not store settings in the Windows registry. .. _faq_reset_krita_configuration: Resetting Krita configuration ----------------------------- You can reset the Krita configuration in following way: - For Krita 3.0 and later: Delete/rename the kritarc file, found here: Linux :file:`$HOME/.config/kritarc` Windows :file:`%LOCALAPPDATA%\\kritarc` MacOS X :file:`$HOME/Library/Preferences/kritarc` There can be two other files you might want to remove: kritaopenglrc and kritadisplayrc. If the configuration was causing a crash, don't delete the mentioned file, but instead rename and send it to us in order for us to figure what caused the crash. If you have installed Krita through the Windows store, the kritarc file will be in another location :file:`%LOCALAPPDATA%\\Packages\\49800Krita_{RANDOM STRING}\\LocalCache\\Local\\kritarc` The random string depends on your installation. Windows users have a habit of uninstalling and reinstalling applications to solve problems. Unless the problem is that the installation was corrupted by a virus scanner or drive failure, that will NOT work. Uninstalling Krita then reinstalling replaces the bytes on your drive with exactly the same bytes that were there before. It doesn't reset anything, least of all Krita's settings. Where are my resources stored? ------------------------------ Linux :file:`$HOME/.local/share/krita/` Windows :file:`%APPDATA%\\krita\\` Mac OS X :file:`~/Library/Application Support/Krita/` If you installed Krita in the Windows Store, your custom resources will be in a location like: :file:`%LOCALAPPDATA%\\Packages\\49800Krita_{RANDOM STRING}\\LocalCache\Roaming\krita` Krita tells me it can't find some files and then closes, what should I do? -------------------------------------------------------------------------- Causes for this could be the following: - It might be that your download got corrupted and is missing files (common with bad wifi and bad internet connection in general), in that case, try to find a better internet connection before trying to download again. Krita should be around 80 to 100 MB in size when downloading. - It might be that something went wrong during installation. Check whether your harddrive is full and reinstall Krita with at least 120 MB of empty space. If not, and the problem still occurs, there might be something odd going on with your device and it's recommended to find a computer expert to diagnose what is the problem. - Some unzippers don't unpack our zipfiles correctly. The native ones on Windows, OSX and most Linux distributions should be just fine, and we recommend using them. - You manually, using a file manager deleted or moved resources around, and thus Krita cannot find them anymore. What Graphics Cards does Krita support? --------------------------------------- Krita can use OpenGL to accelerate painting and canvas zooming, rotation and panning. Nvidia and recent Intel GPUs give the best results. Make sure your OpenGL drivers support OpenGL 3.2 as the minimum. AMD/ATI GPU’s are known to be troublesome, especially with the proprietary drivers on Linux. However, it works perfectly with the Radeon free driver on Linux for supported AMD GPU. Try to get a graphics card that can support OpenGL 3.2 or above for the best results, some examples: .. Following graphics cards have been suggested by Tyson Tan on the basis that they all support 3.2 Intel Intel 3rd Generation HD Graphics, IvyBridge or Bay-Trail microarchitecture, released in 2012. Commonly available products: Celeron J1x00, N2x00, Celeron (G)1xx0, Pentium J2x00, N3500, Pentium (G)2xx0, Core i3/5/7-3xx0. AMD/ATI Radeon HD 2000 family, TeraScale 1 microarchitecture, Released in 2007. Commonly available products: Radeon HD 2400 PRO, Radeon HD 2600 PRO, etc. Nvidia GeForce 8 family, Tesla microarchitecture, released in 2006. Commonly available products: GeForce 8400 GS, GeForce 8800 GTS, 9800 GTX, GTS 250, etc. *For Krita 3.3 or later:* Krita on Windows can use Direct3D 11 for graphics acceleration (through ANGLE). This is enabled automatically on systems with an Intel GPU. I can't edit text from PSD files created by Photoshop ----------------------------------------------------- There is no text support for psd file yet. The text will appear rasterized and converted into a paint layer. How much memory does my image take? ----------------------------------- For simple images, its easy to calculate: you multiply width \* height \* channels \* size of the channels (so, for a 1000×1000 16 bit integer rgba image: 1000 x 1000 x 4 x 2). You multiply this by the number of layers plus two (one for the image, one for the display). If you add masks, filter layers or clone layers, it gets more complicated. Why do I get a checkerboard pattern when I use the eraser? ---------------------------------------------------------- You’re probably used to Gimp or Photoshop. The default background or first layer in these applications doesn’t have an alpha channel by default. Thus, on their background layer, the eraser paints in the background color. In Krita, all layers have an alpha channel, if you want to paint in the background color, you should simply do it in a layer above the first one (Layer 1), that would prevent you from erasing the white background color, making the checkerboard visible. You get the same effect in, say, gimp, if you create new image, add an alpha channel and then use the eraser tool. Most Krita users will actually start a sketch in Krita by adding a new blank layer first before doing anything else. (The :kbd:`Ins` key is a useful shortcut here). That doesn’t use extra memory, since a blank layer or a layer with a default color just takes one pixel worth of memory. Can krita work with 8 bit (indexed) images? ------------------------------------------- No. Krita has been designed from the ground up to use real colors, not indexed palettes. There are no plans to support indexed color images, although Krita can export to some indexed color image formats, such as GIF. However, it does not offer detailed control over pixel values. Where can I find older versions of Krita? ----------------------------------------- All the older versions of Krita that are still available can be found here: -- `Very old builds `_ +- `Very old builds `_. On Windows, the Krita User Interface is too big on my screen ------------------------------------------------------------ If you're using Windows, you can set the display scaling to 150% or 200%. Krita comes with HiDPI enabled by default, so if you do that, the Krita UI might be too big for your screen. You can turn it off using the following steps: - On the menu, select :menuselection:`Settings --> Configure Krita` - On :guilabel:`General` page, switch to :guilabel:`Window` tab. - Uncheck :guilabel:`Enable Hi-DPI support` (or check if you wish to enable it) - Press :guilabel:`OK`, if the settings screen is too big, :kbd:`Alt + O` will trigger the OK button too. - Restart Krita You can also change the toolbox icon size by right-clicking on the toolbox and selecting a size. Windows: In fullscreen mode, why is there a thin gap at the bottom of the window? --------------------------------------------------------------------------------- When :ref:`Canvas Graphics Acceleration ` is set to OpenGL, you may see a thin gap at the bottom of the window which you can see through. This is done deliberately to work around a bug causing menus and dropdowns to be unusable. If you find it distracting, you can consider changing the Renderer to Direct3D 11 which doesn't require this workaround. Windows: OBS can't record the Krita OpenGL canvas ------------------------------------------------- The possible workarounds for this is to do either of the following: #. Turn off OpenGL in :menuselection:`Settings --> Configure Krita --> Display`. #. Or don't use the hardware accelerated mode (game recording mode) in OBS, thus capturing the whole desktop instead of attempting to capture only Krita. You might also be able to work around the problem by using the ANGLE renderer instead of native OpenGL. Windows: Can I use Krita with Sandboxie? ---------------------------------------- No, this is not recommended. Sandboxie causes stuttering and freezes due to the way it intercepts calls for resources on disk. Windows: Krita cannot save -------------------------- If the message is "File not found. Check the file name and try again.", you probably have Controlled Folder Access enabled. - Select :menuselection:`Start --> Settings`. - Choose :menuselection:`Update & security --> Windows Defender`. - Select :guilabel:`Open Windows Defender Security Center`. - Select :guilabel:`Virus & threat protection`, and then choose :guilabel:`Virus & threat protection settings`. - Under :guilabel:`Controlled folder access`, turn it on or off. You can also whitelist Krita, following `these instructions `_. Krita crashes on Windows 7 on start-up -------------------------------------- Starting with Krita 4.2.0, Krita uses version 5.12 of the Qt toolkit. This needs to have access to Direct3D 11 or OpenGL ES 2.0 or higher. You might need to install drivers appropriate to your GPU (Nvidia, AMD/ATI, Intel). This also makes it hard to run Krita in a virtual environment: in Virtual Box you need to install the guest addition in safe mode, and enable the experimental Direct3D support. Windows: How can I produce a backtrace? ----------------------------------------- .. seealso:: :ref:`Dr. Mingw debugger ` If you experience a crash on Windows, and can reproduce the crash, the bug report will be much more valuable if you can create a backtrace. A backtrace is somewhat akin to an airplane's blackbox, in that they tell what set of instructions your computer was running when it was crashing (where the crash happened), making it very useful to figure out why the crash happened. The :ref:`Dr. Mingw debugger ` is bundled with Krita. Please visit the page :ref:`Dr. Mingw debugger ` for instructions on getting a backtrace with it. Windows: Krita's window is semi-transparent ------------------------------------------- Chances are you are using an NVidia GPU. Due to a bug in Nvidia's driver that we haven't been able to workaround yet, sometimes Krita's window will be transparent or semi-transparent. The solution is to enable the Angle renderer in Krita's Settings dialog. Open the :menuselection:`Settings` menu (Press Alt-N if the menubar is not visible and your system is in English), then open the :guilabel:`Configure Krita` dialog. In the dialog window select the :guilabel:`Display` page and select the Angle renderer in the :guilabel:`Preferred Renderer` combobox. Restart Krita. Tablets ======= What tablets does Krita support? -------------------------------- Krita isn’t much fun without a pressure sensitive tablet. If the tablet has been properly configured, Krita should work out of the box. On Windows, you need to either install the Wintab drivers for your tablet, or enable the :guilabel:`Windows 8+ Pointer Input` option in Krita's settings. You can find a community curated list of tablets supported by krita :ref:`here `. If you're looking for information about tablets like the iPad or Android tablets, look :ref:`here `. What if your tablet is not recognized by Krita? ----------------------------------------------- First, check if you have installed drivers and the like. The :ref:`drawing_tablets` page has some explanations and descriptions of common issues. If none of those work, we would like to have a bug report at bugs.kde.org, with a tablet log. Here's how you make a tablet log: #. You need to have something to output the log to. On 4.2 you can use the :ref:`log_viewer` docker for this. Just open the log viewer, and enable logging. .. versionchanged:: 4.2 The log viewer got added to Krita in 4.2, so for older versions of Krita, you will need to either run Krita in the terminal if you have Linux or MacOS, or for Windows install `DebugView `_ from the official Microsoft site, start DebugView and then start Krita. - When using a terminal, make sure to enable 'unlimited scrollback' + When using a terminal, make sure to enable 'unlimited scrollback'. #. Press the :kbd:`Ctrl + Shift + T` shortcut, you will see a message box telling the logging has started. #. Try to reproduce your problem, you will be able to see the log being created in the log viewer as you draw. #. Save the output from the log viewer into a txt file, and attach it to the bugreport. On Linux, it is also useful to have the following information: #. ``lsmod`` #. ``xinput`` #. ``xinput list-props`` (id can be fetched from the item 2) However, in 100\% of the cases where Windows users have reported that their tablet didn't work over the past five years, the problem has been either a buggy driver or a broken driver installation, but not a bug in Krita. How to fix a tablet offset on multiple screen setup on Windows -------------------------------------------------------------- If you see that your tablet pointer has an offset when working with Krita canvas, it might be highly likely that Krita got an incorrect screen resolution from the system. That problem happens mostly when an external monitor is present and when either a monitor or a tablet was connected after the system booted. You can configure this by going to the :ref:`tablet_settings`. Microsoft Surface Pro and N-Trig -------------------------------- Krita 3.3.0 and later supports the Windows Pointer API (Windows Ink) natively. Your Surface Pro or other N-Trig enabled pen tablet should work out of the box with Krita after you enable Windows Ink in :menuselection:`Settings --> Configure Krita --> Tablet`. Tablet Pro and the Surface Pro ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Unlike Wacom's Companion, the Surface line of tablets doesn't have working hardware buttons. Tablet Pro is a (non-free) utility that puts virtual buttons on screen. Krita 3.1 and above will have predefined shortcut profiles to work with Tablet Pro. https://tabletpro.com/ See https://www.youtube.com/watch?v=WKXZgYqC3tI for instructions. Weird stuff happens on Windows, like ripples, rings, squiggles or poltergeists ------------------------------------------------------------------------------ Windows comes with a lot of settings to make it work with a pen. All these settings can be annoying. This tool can help you set the settings correctly when you're using a tablet: https://github.com/saveenr/Fix_My_Pen/releases Touch doesn't seem to work on Windows ------------------------------------- You might have to disable and enable the touch driver: go to the device manager. (Click the :guilabel:`Start` button and type device manager). Choose HID (User interface devices or something like that). Choose Intel(R) Precise Touch Device. Right click, Disable it. Right click, Enable it. Toolbox ======= Toolbox missing --------------- You can reset the Workspace by pressing the right most button on the toolbar, the Workspace switcher, and click on a desired Workspace from the list. Or you can right-click on any docker title bar or open space in any toolbar, and select Toolbox. It's the first option. Also, you can check the :guilabel:`Settings` menu, it has got a lot of interesting stuff, then go to the Dockers menu and select :guilabel:`Toolbox`. Tool icons size is too big -------------------------- Right click the toolbox to set the size. Krita can't get maximized ------------------------- This happens when your dockers are placed in such a way that the window cannot be made less high. Rearrange your Workspace. Resources ========= Is there a way to restore a default brush that I have mistakenly overwritten with new settings to default? ---------------------------------------------------------------------------------------------------------- Yes. First go to the resource folder, which is in Linux :file:`$HOME/.local/share/krita/` Windows :file:`user\\Appdata\\Roaming\\krita\\` or :file:`%APPDATA%\\Roaming\\krita\\` OSX :file:`~/Library/Application Support/Krita/` You can easily do this by going into :menuselection:`Settings --> Manage Resources --> Open Resource Folder`. Then go into the *paintoppresets* folder and remove the latest created file that you made of your preset. After that go back to the resources folder and edit the blacklist file to remove the previous paintoppreset so Krita will load it. (Yes, it is a bit of a convoluted system, but at the least you don't lose your brushes) How do I set favorite presets? ------------------------------ Right-click a brush in the brush docker and assign it a tag. Then right-click on canvas to call popup palette, click the second right-most icon on the bottom-right of the palette, now you can pick the tag which contains the brush you assigned to it. Can Krita load Photoshop Brushes? --------------------------------- Yes, but there are limitations. You can load ABR files by using the :guilabel:`Import` button in the :guilabel:`Predefined brush` tab in the brush editor. Since Adobe hasn’t disclosed the file format specification, we depend on reverse-engineering to figure out what to load, and currently that’s limited to basic features. Krita is slow ============= There is a myriad of reasons why this might be. Below is a short checklist. - Something else is hogging the CPU or the memory: spotify and other electron apps have been known to do this. - You are running Windows, and have 3rdparty security software like Sandboxie or Total Defender installed - You are working on images that are too big for your hardware (dimensions, channel depth or number of layers) - You do not have canvas acceleration enabled - You have (NVidia) Vertical Sync enabled -Please also check `this page `__ +Please also check `this page `_. Slow start-up ------------- You probably have too many resources installed. Deactivate some bundles under :menuselection:`Settings --> Manage Resources`. If you're using Windows with the portable zip file, Windows will scan all files every time you start Krita. That takes ages. Either use the installer or tell Microsoft Security Essentials to make an exception for Krita. Slow Brushes ------------ - Check if you accidentally turned on the stabilizer in the tool options docker. - Try another scaling mode like trilinear. :menuselection:`Settings --> Configure Krita --> Display`. - Try a lower channel depth than 16-bit. - For NVidia, try a 16-bit floating point color space. - For older AMD CPU's (Krita 2.9.10 and above), turn off the vector optimizations that are broken on AMD CPUs. :menuselection:`Settings --> Configure Krita --> Performance`. This isn't needed if you've got an AMD Threadripper™ CPU. - It's a fairly memory hungry program, so 2GB of RAM is the minimum, and 4GB is the preferable minimum. -- Check that nothing else is hogging your CPU +- Check that nothing else is hogging your CPU. - Check that Instant Preview is enabled if you're using bigger brushes (but for very small brushes, make sure is disabled). - Set brush precision to 3 or auto. - Use a larger value for brush spacing. - If all of this fails, record a video and post a link and description on the Krita forum. - Check whether OpenGL is enabled, and if it isn't, enable it. If it is enabled, and you are on Windows, try the Angle renderer. Or disable it. Slowdown after a been working for a while ----------------------------------------- Once you have the slowdown, click on the image-dimensions in the status bar. It will tell you how much RAM Krita is using, if it has hit the limit, or whether it has started swapping. Swapping can slow down a program a lot, so either work on smaller images or turn up the maximum amount of RAM in :menuselection:`Settings --> Configure Krita --> Performance --> Advanced Tab`. Animation ========= Why is my animation black in my video player -------------------------------------------- -You did not render the animation using the "baseline" option and you are using the default Windows media player. Re-render using the baseline option or use a better video player application, like VLC. Check `this useful diagram `__ +You did not render the animation using the "baseline" option and you are using the default Windows media player. Re-render using the baseline option or use a better video player application, like VLC. Check `this useful diagram `_. Tools ===== Why does the Transform Tool give a good result and then get blurry upon finalizing? ----------------------------------------------------------------------------------- The transform tool makes a preview that you edit before computing the finalized version. As this preview is using the screen resolution rather than the image resolution, it may feel that the result is blurry compared to the preview. See `this page `__ for more info. License, rights and the Krita Foundation ======================================== Who owns Krita? --------------- The Stichting Krita Foundation owns the Krita trademark. The copyright on the source code is owned by everyone who has worked on the source code. Who and what is Kiki? --------------------- Kiki is a cybersquirrel. She’s our mascot and has been designed by Tyson Tan. We choose a squirrel when we discovered that ‘krita’ is the Albanian word for Squirrel. Why is Krita Free? ------------------ Krita is developed as `free software `_ within the KDE community. We believe that good tools should be available for all artists. You can also buy Krita on the Windows Store if you want to support Krita's development or want to have automatic updates to newer versions. Why isn't Krita on Steam and in the Windows Store Free? ------------------------------------------------------- Krita on Steam and in the Windows Store is still Free and Open Source software; the binaries are exactly the ones you can also download from krita.org. We've put a price tag on downloading Krita from either store to support Krita's development. Nobody is getting rich out of it, but the income from Steam and the Windows Store currently pays for the full-time involvement with Krita of four developers. See `Krita Available from the Windows Store `_ for more information. Can I use Krita commercially? ----------------------------- Yes. What you create with Krita is your sole property. You own your work and can license your art however you want. Krita’s GPL license applies to Krita’s source code. Krita can be used commercially by artists for any purpose, by studios to make concept art, textures, or vfx, by game artists to work on commercial games, by scientists for research, and by students in educational institutions. If you modify Krita itself, and distribute the result, you have to share your modifications with us. Krita’s GNU GPL license guarantees you this freedom. Nobody is ever permitted to take it away. .. _krita_android: .. _krita_ios: Can I get Krita for iPad? for Android? -------------------------------------- Not for iOS or iPadOS at this point in time. Android is being worked on, but it will not have a phone or tablet, but the same desktop ui as always. Who translates Krita -------------------- Krita is a `KDE application `_ — and proud of it! That means that Krita’s translations are done by `KDE localization teams `_. If you want to help out, join the team for your language! There is another way you can help out making Krita look good in any language, and that is join the development team and fix issues within the code that make Krita harder to translate. Reference ========= https://answers.launchpad.net/krita-ru/+faqs diff --git a/contributors_manual/community.rst b/contributors_manual/community.rst index 774f2a846..fa9966eba 100644 --- a/contributors_manual/community.rst +++ b/contributors_manual/community.rst @@ -1,102 +1,102 @@ .. meta:: :description: - Guide to the Krita community + Guide to the Krita community. .. metadata-placeholder :authors: - Boudewijn Rempt :license: GNU free documentation license 1.3 or later. .. index:: community, communication .. _the_krita_community: =================== The Krita Community =================== Get in touch! Apart from the website at https://www.krita.org, the Krita project has three main communication channels: * Internet Relay Chat (IRC) * The mailing list * Phabricator While Krita developers and users are present on social media such as Twitter, Mastodon, Reddit, Google+, Tumblr or Facebook, those are not the place where we discuss new features, bugs, development or where we make plans for the future. There are also the: * bug tracker * development sprints You’ll find that there are a number of people are almost always around: the core team. * Boudewijn (irc: boud): project maintainer, lead developer. Works full-time on Krita. Manages the Krita Foundation, triages bugs, does social media and admin stuff. Boudewijn is also on Reddit as boudewijnrempt. * Dmitry (irc: dmitryk_log): lead developer. Works full-time on Krita. -* Wolthera (irc: wolthera_laptop): developer, writes the manual and tutorials, triages bugs, helps people out -* Scott Petrovic (irc: scottyp): UX designer, developer, webmaster +* Wolthera (irc: wolthera_laptop): developer, writes the manual and tutorials, triages bugs, helps people out. +* Scott Petrovic (irc: scottyp): UX designer, developer, webmaster. * David Revoy (irc: deevad): expert user, creates Pepper & Carrot, maintains the preset bundle. -* Alvin Wong (irc: windragon): windows guru +* Alvin Wong (irc: windragon): windows guru. * Ben Cooksley (irc: bcooksley): KDE system administrator. Krita’s team spans the globe, but most development happens in Europe and Russia. Krita is part of the larger KDE community. The KDE® Community is a free software community dedicated to creating an open and user-friendly computing experience, offering an advanced graphical desktop, a wide variety of applications for communication, work, education and entertainment and a platform to easily build new applications upon. The KDE contributors guide is relevant for Krita contributors, too, and can be found `here `_. The Krita Foundation was created to support development of Krita. The Krita Foundation has sponsored Dmitry’s work on Krita since 2013. Internet Relay Chat ------------------- IRC is the main communication channel. There are IRC clients for every operating system out there, as well as a web client on the krita website. * Joining IRC: connect to irc.freenode.net, select a unique nickname and join the #krita and ##krita-chat channels. #krita is for on-topic talk, ##krita-chat for off-topic chat. * Don’t ask to ask: if you’ve got a question, just ask it. * Don’t panic if several discussions happen at the same time. That’s normal in a busy channel. * Talk to an individual by typing their nick and a colon. * Almost every Monday, at 14:00 CET or CEST, we have a meeting where we discuss what happened in the past week, what we’re doing, and everything that’s relevant for the project. The meeting notes are kept in google docs. * Activity is highest in CET or CEST daytime and evenings. US daytime and evenings are most quiet. * **IRC is not logged. If you close the channel, you will be gone, and you will not be able to read what happened when you join the channel again. If you ask a question, you have to stay around!** * It is really irritating for other users and disrupting to conversations if you keep connecting and disconnecting. Mailing List ------------ The mailing list is used for announcements and sparingly for discussions. Everyone who wants to work on Krita one way or another should be subscribed to the mailing list. `Mailing List Archives `_ The mailing list is called "kimageshop", because that is the name under which the Krita project was started. Legal issues (surprise!) led to two renames, once to Krayon, then to Krita. Gitlab (KDE Invent) ------------------- Gitlab serves the following purposes for the Krita team: * Review volunteers' submissions: https://invent.kde.org/kde/krita/merge_requests for the code itself, https://invent.kde.org/websites/docs-krita-org/merge_requests for the content of the Krita Manual. * Host the code git repository: https://invent.kde.org/kde/krita . Note that while there are mirrors of our git repository on Github and Phabricator, we do not use them for Krita development. * Host the Krita Manual content repository: https://invent.kde.org/websites/docs-krita-org **Do not** make new issues on Gitlab or use it to make bug reports. **Do** put all your code submissions (merge requests) on Gitlab. **Do not** attach patches to bugs in the bug tracker. Phabricator ----------- Phabricator serves the following purposes for the Krita team: * Track what we are working on: https://phabricator.kde.org/maniphest/ This includes development tasks, designing new features and UX design, as well as tasks related to the website. **Do not** report bugs as tasks on Phabricator. Phabricator is where we organize our work. Bugzilla: the Bug Tracker ------------------------- Krita shares the bug tracker with the rest of the KDE community. Krita bugs are found under the Krita product. There are two kinds of reports in the bug tracker: bugs and wishes. See the chapters on :ref:`Bug Reporting ` and :ref:`Bug Triaging ` on how to handle bugs. Wishes are feature requests. Do not report feature requests in bugzilla unless a developer has asked you to. See the chapter on :ref:`Feature Requests ` for what is needed to create a good feature request. Sprints ------- Sometimes, core Krita developers and users come together, most often in Deventer, the Netherlands, to work together on our code design, UX design, the website or whatever needs real, face-to-face contact. Travel to sprints is usually funded by KDE e.V., while accommodation is funded by the Krita Foundation. diff --git a/contributors_manual/krita_manual_conventions.rst b/contributors_manual/krita_manual_conventions.rst index 1cce5742e..198d17bca 100644 --- a/contributors_manual/krita_manual_conventions.rst +++ b/contributors_manual/krita_manual_conventions.rst @@ -1,553 +1,553 @@ .. meta:: :description: - reStructuredText conventions for the Krita Manual + 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 are differences 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 an 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 follows:: .. 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 its 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 with 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/sample.png :width: 800 :align: center :alt: an image. And figure directives for images with captions:: .. figure:: /images/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/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`` 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``` +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 - viridian - emerald - dark emerald - light emerald - very light emerald. - blue Defined as such:: - red - yellow - green - seagreen - verdigris - teal - viridian - 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): .. hint:: Hints are useful to give a little bit more information on a topic than is useful in the main text. Like, "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 Text. You can make it like this:: .. 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 than 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 the 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 # Python comment def my_function(): alist = [] alist.append(1) string = "hello world" Becomes .. code:: python # Python comment def my_function(): alist = [] alist.append(1) string = "hello world" some more... .. code:: c++ // C++ comment int myFunction(int i) { i += 1; // Check if more than 12 if (i>12) { i = 0; } return i; } .. code:: css /* CSS comment */ 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 b597f058c..2dd8163aa 100644 --- a/contributors_manual/krita_manual_readme.rst +++ b/contributors_manual/krita_manual_readme.rst @@ -1,466 +1,466 @@ .. meta:: :description: - Contributor's Readme for the Krita Manual + Contributor's Readme for the Krita Manual. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Micheal Abrahams - Agata Cacko :license: GNU free documentation license 1.3 or later. .. Website shorthands. Sphinx/reStructuredText prefers it if you use shorthands when repeating websites. .. _phabricator : https://phabricator.kde.org .. _KDE_gitlab : https://invent.kde.org/ .. _Manual Project Workboard : https://phabricator.kde.org/project/view/135/ .. _repository : https://invent.kde.org/websites/docs-krita-org/tree/master .. _bugzilla : https://bugs.kde.org/ .. _krita_manual_contributors_guide: =============================== Krita Manual Contribution Guide =============================== Welcome to our new documentation! We've moved from userbase.kde.org to docs.krita.org, then we moved from Mediawiki to Sphinx. This latter change is because Sphinx allows us to handle translations much better than mediawiki can. The manual will include: A reference manual for Krita This one is probably what everyone is expecting when they type in docs.krita.org. Dry, basic, 'what does this button do' type of information. General concept tutorials. We've found over the past two years that for certain types of users, a reference manual, even with some examples, just isn't enough. The manual should also provide fast and concise explanations for things, and provide a basic workflow for preparing an image for the web. We also have found that certain concepts, such as color management and layer handling are far more advanced in Krita than the average artist is used to. Krita is free and many of its users will not have formal training in digital artwork. So there is no pre-existing artist-focused knowledge on how to use color management or filter layers. In addition there are systems that are unique to Krita, for example the brush system, the transform masks, the alpha inheritance and the perspective assistants. Finally, there are users who aren't familiar with even standard painting workflows, and are not flexible enough to understand how to port a tutorial for Sai or Photoshop to Krita. A list of known tutorials and video tutorials Apparently, one of the great things about Krita's team is how we connect with artists and acknowledge that they're doing cool stuff. The same should count for tutorials, especially because there are ways of using Krita and ways of approaching painting that are unique and we should encourage people to share their knowledge. Contributor's Manual Krita is (free) open source software, which makes us effectively a community project, with dozens of volunteers pitching in to make it better. This, of course, requires we keep track of manuals and howto's for new volunteers to come in and help us. The various places we've done this have been rather spread out, and are often under maintained. The contributor's manual is an attempt to solidify all the information. It is therefore very technical in places. krita.org tutorials There have been a bunch of tutorials on the krita.org and the krita-foundation.tumblr.com, the former focusing on explaining how to use a new feature and the later stimulated by user request. FAQ This one is already online and a merger of the different FAQs that we had. It's currently being translated and we hope to keep this one the primary one to update. For first timers ---------------- Unlike Mediawiki, Sphinx works more like how we write code for Krita. First things first, you will want to talk to us! For this you can either go to the `IRC on krita.org (#krita on freenode.org) `_, or, more importantly, make an account at `identity.kde.org `_. The account you make at identity can be used to both access the forum as well as the `phabricator`_, where we organise Krita development. If you have no idea where to begin, make a Kde identity account and make a post on `the forum `_. Sphinx works by writing simple text files with reStructuredText mark up, and then it takes those text files and turns them into the manual. We keep track of changes in the manual by putting them into a version control system called :program:`Git`. .. _making_changes_sphinx: Making changes ~~~~~~~~~~~~~~ Because we use Git, there's only a few people who can put things into the version control system, so if you want to make changes you will need to put it up for review. .. _merge-request-diff: Sending patches to Phabricator ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Recommended for users without a technical knowledge who don't plan on contributing more to the project. Not recommended when you plan to contribute more in the future. (See :ref:`merge-request-edit` if you don't have technical knowledge and want to contribute to Krita Manual more than once). 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 the manual. 4. Bundle up the items into a zip. Put all the files you changed into a zip file. This also includes the images if you're changing them. Try to keep the filenames the same, that's easier for us to copy over. 5. Upload the zip on phabricator. 1. First, go to phabricator.kde.org and log in with your identity account. 2. Go to the `Manual Project Workboard`_ and there create a new task. 3. Explain what you did and use drag and drop to move the zip file to the input textbox. That should upload it. We will also need the email address you associate with your kde identity account. 4. Then, if the changes are accepted, someone with commit access will unpack those files into the manual folder and push the differences using the mail address. .. _merge-request-edit: Creating merge requests using Edit mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Recommended for users without a technical knowledge. Not recommended when you want to change more than one file at once. (See :ref:`merge-request-webide` or :ref:`merge-request-terminal` if you want to change more files, or simply edit only one per merge request). If you have a lot of changes you want to contribute, we recommend trying to follow these instructions. #. Get a KDE identity. #. Login to `KDE_gitlab`_. #. Go to the `repository`_ and press :guilabel:`fork`. #. You should be redirected to the fork of your repository now. Typically it's located at ``invent.kde.org/YOUR_KDE_LOGIN_NAME/docs-krita-org``. #. Come back to the official repository. Make sure you're browsing ``Websites/Krita Documentation``, not your own fork. Otherwise this method won't work correctly. #. Gitlab has an option to Edit files in the gitlab itself. To access this, go to :menuselection:`Repository --> Files`. #. At the top of the page you see a dropbox with ``master`` as a chosen item; please select ``draft`` if your changes contain anything other than pure typo fixes. #. Find the file you want to edit, open it and then click :guilabel:`Edit`. #. Make your changes. (Note: in this mode you can edit only one file at a time). #. Go to the smaller textbox below and write a nice message in the commit message section with the changes you've made. When done, press :guilabel:`Commit changes`. This will make a merge request for you, just fill in all of the fields as explained here: :ref:`new-merge-request`. The downside is that right now there's no way to tell if you made errors with the mark up using this method. Please check your changes with the `Online Sphinx Editor `_ (just copy and paste the entire file you're editing). .. attention:: :guilabel:`Edit` and :guilabel:`WebIDE` are two different things! Make sure you select :guilabel:`Edit`. .. image:: /images/gitlab/screenshot_editmode.png :width: 1000px .. _merge-request-webide: Creating merge requests using WebIDE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Recommended for users with a bit of knowledge about Git that want to edit multiple files at once. Not recommended when you don't know what a branch is (see :ref:`merge-request-edit` instead). #. Follow the instructions above to login to `KDE_gitlab`_ and create your fork. #. Go to your fork (make sure the url contains your username). #. Make sure you're on ``draft``, not on ``master``, unless your changes contain *only* spelling and grammatical fixes. #. Click :guilabel:`WebIDE`. This should take you to a page that has a list of files on the left side and a big empty space for file contents on the right side. #. Open the files you want to edit and make the changes. #. Click :guilabel:`Commit...`. Double-click on all files in the :guilabel:`Unstaged changes` category to move them to :guilabel:`Staged changes`. #. Click :guilabel:`Commit...` again - it will expand a commit message textbox. Write commit message that explains what changes have you made and why. #. Make sure the settings are correct: you need to select :guilabel:`Create a new branch` (the name of the branch should be: ``[username]/[very short description of your changes]``). If you finished your changes, make sure that :guilabel:`Start a new merge request` is checked. Otherwise you'll need to make a new merge request manually later. #. Click :guilabel:`Stage & Commit`. #. Fill all of the fields correctly: see :ref:`new-merge-request`. #. To create a new merge request manually, go to Krita Manual official repository (make sure the url *doesn't* contain your username now) and click :guilabel:`Create a new merge request` (bright green button at the left). Select your fork and select the branch that you've created in WebIDE. .. image:: /images/gitlab/screenshot_webidemode.png :width: 1000px .. note:: - If you don't have a push access to the official repository, gitlab won't allow you to save your changes if you were editing the official repository by mistake (and :guilabel:`Create a merge request` won't help with that: you still need to commit your changes to your branch, but if you don't have push access, you can't do it). It will just show the message: `An error occurred whilst committing your changes. Please try again.` + If you don't have a push access to the official repository, gitlab won't allow you to save your changes if you were editing the official repository by mistake (and :guilabel:`Create a merge request` won't help with that: you still need to commit your changes to your branch, but if you don't have push access, you can't do it). It will just show the message: *An error occurred whilst committing your changes. Please try again.* In this case, simply copy contents of all of the files you changed, go to your fork and paste them in the fork WebIDE. .. _merge-request-terminal: Creating merge requests using command line ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Recommended for users that know how Git works and how to use command line. Not recommended when you don't know what a branch is (see :ref:`merge-request-edit` instead). #. Follow the instructions above to login to `KDE_gitlab`_ and create your fork. #. Clone the repository locally with :guilabel:`git clone`. The repository page has the urls you can perform git clone from, and you can then push to your fork. The advantage of this is that you can use all the tools on your computer to edit these text files as well as build the manual locally to check for errors. (You need to do this step only once). .. code-block:: bash # for ssh access git clone git@invent.kde.org:/krita.git git remote add upstream git@invent.kde.org:kde/krita.git # for https access git clone https://invent.kde.org//krita.git git remote add upstream https://invent.kde.org/kde/krita.git #. Remember to always pull changes from the official repository before making new changes: .. code-block:: bash git pull upstream master #. Make sure you create a new branch for your changes, since september 2019, all changes should be branched from ``master``. .. code-block:: bash git checkout master # and then: git checkout -b "/" #. After you make your changes, commit them and push to your fork. For a detailed description of how to use Git in terminal in case of this workflow, go to :ref:`forking_gitlab`. .. code-block:: bash # make sure everything is correct make html git status git diff # add all of the files git add . # commit your changes git commit # submit your changes to your fork git push #. Finally, go to the website of the original repository, and then to Merge Requests. Select your fork and the correct branch and create a new merge request. For instruction on how to fill the fields, see :ref:`new-merge-request`. .. _new-merge-request: Guidelines for new merge requests ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #. Your commit messages should conform to standards explained here: `How to Write a Git Commit Message `_ #. :guilabel:`Title` and :guilabel:`Description` should explain what changes did you make and why did you make them, just like a commit message, so follow the guidelines from the link above in this case, too. #. :guilabel:`Target` should point to ``master``. #. If you're sure the merge request will demand some changes later, start the title of your merge request with :code:`[WIP]`. #. Make sure you checked :guilabel:`Allow commits from members who can merge to the target branch.` -- it is often needed for technical reasons that merge request is rebased on master, which technically changes the merge request, but it doesn't change the actual content of it. Rebase can be done by you or by the reviewer -- if you don't want to be bothered later too much, better check this checkbox so the reviewer can do it themselves with only a few clicks. #. You can safely check :guilabel:`Delete source branch when merge request is accepted` in most cases. #. Unless your reviewers tell you otherwise, check :guilabel:`Squash commits when merge request is accepted`. The first line of the commit message will come from the :guilabel:`Title` of your merge request and the rest of it will be taken from the :guilabel:`Description` of the merge request. #. When you finish creating your merge request, go to IRC and ask someone with push access to add the ``Needs Review`` label on your merge request. #. You might get feedback on your merge request if it has mistakes. Just fix the mistakes in your branch in one of the following ways. - * If you want to use :guilabel:`Edit` mode, just go to :guilabel:`Changes` section of the merge request and click on the pencil icon (with a tooltip that says `Edit`) to use the Edit mode again. + * If you want to use :guilabel:`Edit` mode, just go to :guilabel:`Changes` section of the merge request and click on the pencil icon (with a tooltip that says *Edit*) to use the Edit mode again. * If you want to use :guilabel:`WebIDE` mode, go to your fork, select the branch your changes are on and go to the WebIDE. * If you edit files on your computer and work with terminal, make sure you're on the correct branch and push your changes - gitlab will update your merge request automatically. After making changes, make sure you ask someone to change the label to ``Needs Review`` again. For more detailed information, check out :ref:`forking_gitlab` in the technical section. .. note:: At the time of writing this guide setting labels on merge requests is only possible by contributors with write access to the official repository. (If you don't know what that means, you're most probably not one of them). Because of that, when you create or change your merge request you need to get on IRC (see :ref:`the_krita_community`) and ask someone to label it for you. General philosophy ------------------ This is for determining what is an appropriate writing style. A writing style, whether we consider its practical or aesthetic qualities, is usually underpinned by a goal or general philosophy. What do we want to achieve with the manual, and for whom is the manual meant? Demographics and target audience(s) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We cannot talk about a demographic in the sense that we know all Krita users are 55 year old men. Krita is used by a hugely different amount of people, and we are actually kind of proud that we have such a varied userbase. Despite that, we know a couple of things about our users: * They are artists. This is explicitly the type of users that we target. * Therefore, we know they prefer pretty pictures. * They are visual. * They are trying to achieve pretty pictures. Therefore, the implicit goal of each page would be to get the feature used for pretty pictures. Other than that, we've observed the following groups: * High-school and college students trying out drawing software for illustrations. These usually have some previous experience with drawing software, like Painttool Sai or Photoshop, but need to be introduced to possibilities in :program:`Krita`. This group's strength is that they share a lot of information with each other like tips and tricks and tutorials. * Professionals, people who earn their money with digital drawing software. The strength of this group is that they have a lot of know-how and are willing to donate to improve the program. These come in two types: * Non technical professionals. These are people who do not really grasp the more mathematical bits of a piece of software, but have developed solid workflows over the years and work with software using their finely honed instincts. These tend to be illustrators, painters and people working with print. * Technical professionals. These are people who use :program:`Krita` as part of a pipeline, and care about the precise maths and pixel pushing. These tend to be people working in the games and VFX industry, but occasionally there's a scientist in there as well. * Adult and elderly hobbyists. This group doesn't know much about computers, and they always seem to get snagged on that one little step missing from a tutorial. Their strength as a group is that they adapt unconventional workflows from real life that the student wouldn't know about and the professional has no time for and create cool stuff with that, as well as that they have a tempering effect on the first group in the larger community. From these four groups... * there's only one that is technical. Which is why we need the concept pages, so that we can create a solid base to write our manual texts on top of. * three of them likely have previous experience with software and may need migration guides and be told how. * two of them need to know how to get Krita to cooperate with other software. * two of them have no clue what they are doing and may need to be guided through the most basic of steps. From that we can get the following rules: General Writing ~~~~~~~~~~~~~~~ Use American English if possible. We use American English in the manual, in accordance to Krita's UI being American English by default. Keep the language polite, but do not use academic language. As a community, we want to be welcoming to the users, so we try to avoid language that is unwelcoming. Swearing is already not condoned by KDE, but going to the far other end, an academic style where neither writer nor reader is acknowledged might give the idea that the text is far more complex than necessary, and thus scare away users. Avoid using gifs (open for debate) The reason is that people with epilepsy may be affected by fast moving images. Similarly, gifs can sometimes carry too much of the burden of explanation. If you can't help but use gifs, at the least notify the reader of this in the introduction of the page. Keep it translation compatible This consists of using svg for infographics, and using the appropriate markup for a given text. Regarding photos and paintings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * I would like to discourage photos and traditional paintings in the manual if they are not illustrating a concept. The reason is that it is very silly and a little dishonest to show Rembrandt's work inside the Krita GUI, when we have so many modern works that were made in Krita. All of the pepper&carrot artwork was made in Krita and the original files are available, so when you do not have an image handy, start there. Photos should be avoided because Krita is a painting program. Too many photos can give the impression Krita is trying to be a solution for photo retouching, which really isn't the focus. * Of course, we still want to show certain concepts in play in photos and master paintings, such as glossing or indirect light. In this case, add a caption that mentions the name of the painting or the painter, or mentions it's a photograph. * Photos can still be used for photobashing and the like, but only if it's obviously used in the context of photobashing. Regarding images in general ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Avoid text in the images and use the caption instead. You can do this with the figure directive. * If you do need to use text, make either an SVG, so the text inside can be manipulated easier, or try to minimize the amount of text. * Try to make your images high quality/cute. Let's give people the idea that they are using a program for drawing! * Remember that the manual is licensed under GDPL 1.3, so images submitted will be licensed under that. In the case of CC-By-Sa/CC-By ensure that the file gets attributed appropriately through a figure caption. Needless to say, don't submit images that cannot be licensed under either license. Protocol -------- So here we line out all the boring workflows. Tagging and Branches ~~~~~~~~~~~~~~~~~~~~ Adding and removing text will be done in the ``draft`` branch. Proofreading results for old pages will be considered as bugfixes and thus will go into the ``master`` branch and merged into the ``draft`` branch as necessary. Before the ``draft`` branch is merged for a given release: * The master branch will be tagged with the old version. * The draft branch is first double checked that it has updated version number and updated epub cover. The ``draft`` branch will not be merged until the day before a release to keep the pages intact for long enough. Each release will have a version of the epub uploaded as part of the release process. .. Where do we get the POT files from? Even the translated versions? Removing Pages ~~~~~~~~~~~~~~ If a feature is removed in a certain version, the corresponding pages: 1. Will first be marked deprecated. This can be done as so:: .. deprecated:: version number Text to indicate what the user should do without this feature. 2. Will be linked on a page called 'deprecated' 3. If the next version rolls around, all the pages linked in the deprecated section will be removed. Adding Pages ~~~~~~~~~~~~ 1. Ensure that it is located in the right place. 2. Follow the :ref:`krita_markup_conventions` to ensure the page is formatted correctly. 3. Add the page to the TOC. 4. If the feature is new, add in versionadded:: .. versionadded:: version number optional something or the other. As with images, don't add text that you do not have permission to add. This means that text is either written by you, or you have permission to port it from the original author. The manual is GDPL 1.3+ so the text will be relicensed under that. Changing Pages ~~~~~~~~~~~~~~ If you fully rewrite a page, as opposed to proofreading it, the resulting page should be reviewed. If you change a page because a feature has changed, and you have commit access, the change can be pushed without review (unless you feel more comfortable with a review), but you should add:: .. versionchanged:: version number This and that changed. In all cases, check if you want to add yourself to the author field in the metadata section on top. Using deprecated, versionadded and versionchanged with the version number allows us to easily search the manual for these terms with grep: .. code:: bash grep -d recurse versionadded * --exclude-dir={_build,locale} Faulty pages ~~~~~~~~~~~~ If a page slips through the cracks, either... * Make a merge request per the :ref:`making_changes_sphinx` section. * Make a task at the `Manual Project Workboard`_. * Make a bug at `bugzilla`_ under the project Krita in the section 'documentation'. Proofreading ~~~~~~~~~~~~ There are two types of proofreading that needs to be done. The most important one is **reviewing changes people make**. You can do this on `KDE_gitlab`_ in two ways: 1. Reviewing merge requests You can help review merge requests. Request reviewing is usually done by programmers to find mistakes in each other's code, but because programming code is text based just like regular text, we can use this to check against typos as well! A merge request, is an amount of changes done in a document (added, removed) put into a machine readable file. When someone submits a review request (on system like gitlab or github this is a merge or pull request), people who maintain the original files will have to look them over and can make comments about things needing to change. This allows them to comment on things like typos, over-complicated writing but also things that are incorrect. After a patch has been accepted it can be pushed into the version control system. 2. Commenting on changes in the manual. Commenting changes happens after the fact. You can comment on a change by going to the commit message (from the repository page, go to history and then click on an entry), where you will be able to make comments on the changes made. In both cases, the interface consists of the difference being shown, with on the left the old version, and on the right the new version. Lines that have been added will be marked in green while lines that have been removed will be marked with red. You can click a speech bubble icon to add an 'inline' comment. The second major way the manual needs to be proofread is **over the whole file**. Many of the pages have only been checked for correctness but not for style and grammar. For this you will need to follow the :ref:`making_changes_sphinx` section, so that you can have full access to the pages and edit them. Translating ~~~~~~~~~~~ Translation of the manual is handled by the `KDE localization community `_. To join the translation effort, go to the localization site, select the list of `translation teams `_, select the language you wish to translate for, and follow the instructions on the team page to get in contact with fellow translators. The localization team has access to the PO files for this manual, which is a file type used by translation programs like POEdit and Lokalize. A translation team is able to work together on translating these files and uploading them to the translations SVN. A special script will then take the translations from the SVN and bring them to the manual section to be incorporated on a daily basis. Images can be translated if a translation team wants to provide their own images. All images in the image folder are by default for 'en'. When you want to translate a specific image, go into that folder and add another folder with your language code to add in the translated versions of images. So Sphinx will search for a dutch version of :file:`/images/Pixels-brushstroke.png` at :file:`/images/nl/Pixels-brushstroke.png` and for a dutch version of :file:`/images/dockers/Krita-tutorial2-I.1-2.png` in :file:`/images/dockers/nl/Krita-tutorial2-I.1-2.png`. Finished translations also need to be added to the build script to show up online. Translator teams which are confident in the state of their translation should contact the main Krita team via the kimageshop mailinglist(kimageshop@kde.org), or foundation@krita.org, to accomplish this. Other ----- For restructured text conventions, check :ref:`krita_markup_conventions`. diff --git a/contributors_manual/user_support.rst b/contributors_manual/user_support.rst index dda0d2865..5ee62ac31 100644 --- a/contributors_manual/user_support.rst +++ b/contributors_manual/user_support.rst @@ -1,150 +1,150 @@ .. meta:: :description: Introduction to user support. .. metadata-placeholder :authors: - Agata Cacko :license: GNU free documentation license 1.3 or later. .. _gitlab : https://invent.kde.org .. _repository : https://invent.kde.org/kde/krita .. _bugzilla : https://bugs.kde.org/ .. _Krita developer IRC : https://krita.org/irc/ .. _API guide : https://api.kde.org/extragear-api/graphics-apidocs/krita/html/index.html .. _intro_user_support: ============================ Introduction to User Support ============================ .. requirements (aka just know a bit of Krita, the more you know, the more you'd be able to help) (+ if you don't know the answer, come to IRC) .. general philosophy .. + tablet support .. + quick solutions .. + important information needed .. + animation (how to debug) .. + crashes .. + advices .. useful links to quickly answer people .. contents:: Tablet Support -------------- The majority of help requests are about pen pressure and tablet support in general. Quick solutions ~~~~~~~~~~~~~~~ #. On Windows: reinstall your driver (Windows Update often breaks tablet driver settings, reinstallation helps). #. Change API in :menuselection:`Settings --> Configure Krita --> Tablet Settings` (for some devices, especially N-trig ones, Windows Ink work better, for some it's Wintab). #. On Windows, Wacom tablets: if you get straight lines at the beginnings of the strokes, disable/minimize "double-click distance" in Wacom settings. Gathering information ~~~~~~~~~~~~~~~~~~~~~ #. Which OS do you use? #. Which tablet do you have? #. What is the version of the tablet driver? #. Please collect Tablet Tester (:menuselection:`Settings --> Configure Krita --> Tablet Settings`) output, paste it to `Pastebin `_ or similar website and give us a link. Additional information for supporters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Except for the issue with beginnings of the strokes, Wacom tablets usually work no matter the OS. #. Huion tablets should work on Windows and on Linux, on Mac there might be issues. #. XP-Pen tablets and other brands can have issues everywhere. -#. If someone asks about a tablet to buy, generally a cheaper Wacom or a Huion are the best options as of 2019, if they want to work with Krita. :ref:`list_supported_tablets` +#. If someone asks about a tablet to buy, generally a cheaper Wacom or a Huion are the best options as of 2019, if they want to work with Krita. :ref:`list_supported_tablets`. #. `Possibly useful instruction in case of XP-Pen tablet issues `_. Animation --------- Issues with rendering animation can be of various shapes and colors. First thing to find out is whether the issue happens on Krita's or FFmpeg's side (Krita saves all the frames, then FFmpeg is used to render a video using this sequence of images). To learn that, instruct the user to render as "Image Sequence". If the image sequence is correct, FFmpeg (or more often: render options) are at fault. If the image sequence is incorrect, either the options are wrong (if for example not every frame got rendered), or it's a bug in Krita. .. note:: If the user opens the Log Viewer docker, turns on logging and then tries to render a video, Krita will print out the whole ffmpeg command to Log Viewer so it can be easily investigated. There is a log file in the directory that user tries to render to. It can contain information useful to investigation of the issue. Onion skin issues ----------------- The great majority of issues with onion skin are just user errors, not bugs. Nonetheless, you need to find out why it happens and direct the user how to use onion skin properly. Crash ----- In case of crash try to determine if the problem is known, if not, instruct user to create a bug report (or create it yourself) with following information: #. What happened, what was being done just before the crash. #. Is it possible to reproduce (repeat)? If yes, provide a step-by-step instruction to get the crash. #. Backtrace (crashlog) -- the instruction is here: :ref:`dr_minw`, and the debug symbols can be found in the annoucement of the version of Krita that the user has. But it could be easier to just point the user to `https://download.kde.org/stable/krita `_. Other possible questions with quick solutions --------------------------------------------- #. When the user has trouble with anything related to preview or display, ask them to change :guilabel:`Canvas Graphics Acceleration` in :menuselection:`Settings --> Configure Krita --> Display`. .. note: Telling people to disable canvas acceleration to get better performance is something we shouldn't do, ever. #. When the user has any weird issue, something you've never heard about, ask them to reset the configuration: :ref:`faq_reset_krita_configuration`. Advices for supporters ---------------------- #. If you don't understand the question, ask for clarification -- asking for a screen recording or a screenshot is perfectly fine. #. If you don't know the solution but you know what information will be needed to investigate the issue further, don't hesitate to ask. Other supporters may know the answer, but have too little time to move the user through the whole process, so you're helping a lot just by asking for additional information. This is very much true in case of tablet issues, for example. #. If you don't know the answer/solution and the question looks abandoned by other supporters, you can always ask for help on Krita IRC channel. It's #krita on freenote.net: :ref:`the_krita_community`. #. Explain steps the user needs to make clearly, for example if you need them to change something in settings, clearly state the whole path of buttons and tabs to get there. #. Instead of :menuselection:`Settings --> Configure Krita` use just :menuselection:`Configure Krita` -- it's easy enough to find and Mac users (where you need to select :menuselection:`Krita --> Settings`) won't get confused. #. If you ask for an image, mention usage of `Imgur `_ or `Pasteboard `_, otherwise Reddit users might create a new post with this image instead of including it to the old conversation. #. If you want to quickly answer someone, just link to the appropriate place in this manual page -- you can click on the little link icon next to the section or subsection title and give the link to the user so they for example know what information about their tablet issue you need. #. If the user access the internet from the country or a workplace with some of the websites blocked (like imgur.com or pastebin.com), here is a list of alternatives that works: * Images (e.g. screenshots): `Pasteboard `_ * Text only: `BPaste `_, `paste.ubuntu.org.cn `_, `paste.fedoraproject.org `_ or `https://invent.kde.org/dashboard/snippets (needs KDE Identity) `_. * ``.kra`` and other formats: by mail? Or encode the file using `base64` command on Linux, send by mail or on Pastebin, then decode using the same command. .. attention:: If you ask user to store their log or other data on a website, make sure it stays there long enough for you to get it -- for example bpaste.net stores files by default only for a day! And you can extend it only to one week. Make sure they don't post their personal data. Tablet Tester log is safe, log from the :menuselection:`Help -> Show system information for bug reports` might not be that safe. Maybe you could ask them to send it to you by mail? diff --git a/index.rst b/index.rst index c0ab964d1..d56309729 100644 --- a/index.rst +++ b/index.rst @@ -1,72 +1,72 @@ ######################################### Welcome to the Krita |version| Manual! ######################################### Welcome to Krita's documentation page. Krita is a sketching and painting program designed for digital artists. Our vision for Development of Krita is — Krita is a free and open source cross-platform application that offers an end-to-end solution for creating digital art files from scratch. Krita is optimized for frequent, prolonged and focused use. Explicitly supported fields of painting are illustrations, concept art, matte painting, textures, comics and animations. Developed together with users, Krita is an application that supports their actual needs and workflow. Krita supports open standards and interoperates with other applications. Krita's tools are developed keeping the above vision in mind. Although it has features that overlap with other raster editors its intended purpose is to provide robust tool for digital painting and creating artworks from scratch. As you learn about Krita, keep in mind that it is not intended as a replacement for Photoshop. This means that the other programs may have more features than Krita for image manipulation tasks, such as stitching together photos, while Krita's tools are most relevant to digital painting, concept art, illustration, and texturing. This fact accounts for a great deal of Krita's design. You can download this manual as an epub `here `_. +--------------------------------------------------------+--------------------------------------------------+ | .. image:: /images/intro_page/Hero_userManual.jpg | .. image:: /images/intro_page/Hero_tutorials.jpg | | | | |:ref:`user_manual` |:ref:`tutorials` | | | | |Discover Krita’s features through an |Learn through developer and user | |online manual. Guides to help you |generated tutorials to see Krita | |transition from other applications. |in action. | +--------------------------------------------------------+--------------------------------------------------+ | .. image:: /images/intro_page/Hero_getting_started.jpg | .. image:: /images/intro_page/Hero_reference.jpg | | | | |:ref:`getting_started` |:ref:`reference_manual` | | | | |New to Krita and don't know where to start? |A quick run-down of all of the tools that | -| |are available | +| |are available. | +--------------------------------------------------------+--------------------------------------------------+ | .. image:: /images/intro_page/Hero_general.jpg | .. image:: /images/intro_page/Hero_faq.jpg | | | | |:ref:`general_concepts` |:ref:`faq` | | | | |Learn about general art and technology |Find answers to the most common questions | |concepts that are not specific to Krita. |about Krita and what it offers. | +--------------------------------------------------------+--------------------------------------------------+ | .. image:: /images/intro_page/Hero_resources.jpg | | | | | |:ref:`resources_page` |:ref:`genindex` | | | | |Textures, brush packs, and python plugins |An index of the manual for searching | |to help add variety to your artwork. |terms by browsing. | +--------------------------------------------------------+--------------------------------------------------+ .. toctree:: :maxdepth: 2 :hidden: user_manual general_concepts reference_manual tutorials KritaFAQ contributors_manual resources_page diff --git a/reference_manual.rst b/reference_manual.rst index 5a3a251a1..e2001c05e 100644 --- a/reference_manual.rst +++ b/reference_manual.rst @@ -1,14 +1,14 @@ .. _reference_manual: ################ Reference Manual ################ -A quick run-down of all of the tools that are available +A quick run-down of all of the tools that are available. .. toctree:: :maxdepth: 1 :caption: Contents: :glob: reference_manual/* diff --git a/reference_manual/blending_modes/darken.rst b/reference_manual/blending_modes/darken.rst index a97b902a7..f954b14b3 100644 --- a/reference_manual/blending_modes/darken.rst +++ b/reference_manual/blending_modes/darken.rst @@ -1,179 +1,179 @@ .. meta:: :description: Page about the darken blending modes in Krita: Darken, Burn, Easy Burn, Fog Darken, Darker Color, Gamma Dark, Linear Burn and Shade. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Maria Luisac - Reptorian :license: GNU free documentation license 1.3 or later. .. _bm_cat_darken: Darken ------ .. index:: ! Color Burn, burn .. _bm_burn: .. _bm_color_burn: Burn ~~~~ A variation on Divide, sometimes called 'Color Burn' in some programs. This inverts the bottom layer, then divides it by the top layer, and inverts the result. This results in a darkened effect that takes the colors of the lower layer into account, similar to the burn technique used in traditional darkroom photography. 1_{[1_Darker Gray(0.4, 0.4, 0.4)] / Lighter Gray(0.5, 0.5, 0.5)} = (-0.2, -0.2, -0.2) → Black(0, 0, 0) .. figure:: /images/blending_modes/darken/Blending_modes_Burn_Gray_0.4_and_Gray_0.5_n.png :align: center Left: **Normal**. Right: **Burn**. 1_{[1_Light Blue(0.1608, 0.6274, 0.8274)] / Orange(1, 0.5961, 0.0706)} = (0.1608, 0.3749, -1.4448) → Green(0.1608, 0.3749, 0) .. figure:: /images/blending_modes/darken/Blending_modes_Burn_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Burn**. .. figure:: /images/blending_modes/darken/Blending_modes_Burn_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Burn**. .. index:: ! Easy Burn .. _bm_easy_burn: Easy Burn ~~~~~~~~~ Aims to solve issues with Color Burn blending mode by using a formula which falloff is similar to Dodge, but the falloff rate is softer. It is within the range of 0.0f and 1.0f unlike Color Burn mode. .. figure:: /images/blending_modes/darken/Blending_modes_Easy_Burn_Sample_image_with_dots.png :align: center - Left: **Normal**. Right: **Easy Burn** + Left: **Normal**. Right: **Easy Burn**. .. index:: ! Fog Darken .. _bm_fog_darken: Fog Darken (IFS Illusions) ~~~~~~~~~~~~~~~~~~~~~~~~~~ Darken the image in a way that there is a 'fog' in the end result. This is due to the unique property of fog darken in which midtones combined are lighter than non-midtones blend. .. figure:: /images/blending_modes/darken/Blending_modes_Fog_Darken_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Fog Darken** (exactly the same as Addition). .. index:: ! Darken .. _bm_darken: Darken ~~~~~~ With the darken, the upper layer's colors are checked for their lightness. Only if they are darker than the underlying color on the lower layer, will they be visible. Is Lighter Gray(0.5, 0.5, 0.5) darker than Darker Gray(0.4, 0.4, 0.4)? = (no, no, no) → Darker Gray(0.4, 0.4, 0.4) .. figure:: /images/blending_modes/darken/Blending_modes_Darken_Gray_0.4_and_Gray_0.5_n.png :align: center Left: **Normal**. Right: **Darken**. Is Orange(1, 0.5961, 0.0706) darker than Light Blue(0.1608, 0.6274, 0.8274)? = (no, yes, yes) → Green(0.1608, 0.5961, 0.0706) .. figure:: /images/blending_modes/darken/Blending_modes_Darken_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Darken**. .. figure:: /images/blending_modes/darken/Blending_modes_Darken_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Darken**. .. index:: ! Darker Color .. _bm_darker_color: Darker Color ~~~~~~~~~~~~ .. figure:: /images/blending_modes/darken/Blending_modes_Darker_Color_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Darker Color**. .. index:: ! Gamma Dark .. _bm_gamma_dark: Gamma Dark ~~~~~~~~~~ Divides 1 by the upper layer, and calculates the end result using that as the power of the lower layer. Darker Gray(0.4, 0.4, 0.4)^[1 / Lighter Gray(0.5, 0.5, 0.5)] = Even Darker Gray(0.1600, 0.1600, 0.1600) .. figure:: /images/blending_modes/darken/Blending_modes_Gamma_Dark_Gray_0.4_and_Gray_0.5_n.png :align: center Left: **Normal**. Right: **Gamma Dark**. Light Blue(0.1608, 0.6274, 0.8274)^[1 / Orange(1, 0.5961, 0.0706)] = Green(0.1608, 0.4575, 0.0683) .. figure:: /images/blending_modes/darken/Blending_modes_Gamma_Dark_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Gamma Dark**. .. figure:: /images/blending_modes/darken/Blending_modes_Gamma_Dark_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Gamma Dark**. .. index:: ! Linear Burn .. _bm_linear_burn: Linear Burn ~~~~~~~~~~~ Adds the values of the two layers together and then subtracts 1. Seems to produce the same result as :ref:`bm_inverse_subtract`. [Darker Gray(0.4, 0.4, 0.4) + Lighter Gray(0.5, 0.5, 0.5)]_1 = (-0.1000, -0.1000, -0.1000) → Black(0, 0, 0) .. figure:: /images/blending_modes/darken/Blending_modes_Linear_Burn_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Linear Burn**. [Light Blue(0.1608, 0.6274, 0.8274) + Orange(1, 0.5961, 0.0706)]_1 = (0.1608, 0.2235, -0.1020) → Dark Green(0.1608, 0.2235, 0) .. figure:: /images/blending_modes/darken/Blending_modes_Linear_Burn_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Linear Burn**. .. figure:: /images/blending_modes/darken/Blending_modes_Linear_Burn_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Linear Burn**. .. index:: ! Shade .. _bm_shade: Shade (IFS Illusions) ~~~~~~~~~~~~~~~~~~~~~ Basically, the blending mode only ends in shades of shades. This means that it's very useful for painting shading colors while still in the range of shades. .. figure:: /images/blending_modes/darken/Blending_modes_Shade_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Shade**. diff --git a/reference_manual/brushes/brush_engines/color_smudge_engine.rst b/reference_manual/brushes/brush_engines/color_smudge_engine.rst index acbd7c1e8..9be68d660 100644 --- a/reference_manual/brushes/brush_engines/color_smudge_engine.rst +++ b/reference_manual/brushes/brush_engines/color_smudge_engine.rst @@ -1,364 +1,364 @@ .. meta:: :description: The Color Smudge Brush Engine manual page. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic - ValerieVK :license: GNU free documentation license 1.3 or later. .. index:: Brush Engine, Color Smudge Brush Engine, Color Mixing, Smudge .. _color_smudge_brush_engine: ========================= Color Smudge Brush Engine ========================= .. image:: /images/icons/colorsmudge.svg The Color Smudge Brush is a brush engine that allows you to mix colors by smearing or dulling. A very powerful brush engine to the painter. Options ------- * :ref:`option_brush_tip` * :ref:`blending_modes` * :ref:`option_opacity_n_flow` * :ref:`option_size` * :ref:`option_spacing` * :ref:`option_mirror` * :ref:`option_softness` * :ref:`option_rotation` * :ref:`option_scatter` * :ref:`option_gradient` * :ref:`option_airbrush` * :ref:`option_texture` Options Unique to the Color Smudge Brush ---------------------------------------- .. _option_color_rate: Color Rate ~~~~~~~~~~ How much of the foreground color is added to the smudging mix. Works together with :ref:`option_smudge_length` and :ref:`option_smudge_radius`. .. image:: /images/brushes/Krita_2_9_brushengine_colorrate_04.png .. _option_smudge_length: Smudge Length ~~~~~~~~~~~~~ Affects smudging and allows you to set it to Sensors. There are two major types: .. image:: /images/brushes/Krita_2.9_brush_engine_smudge_length_03.png Smearing Great for making brushes that have a very impasto oil feel to them. Dulling Named so because it dulls strong colors. Using an arithmetic blending type, Dulling is great for more smooth type of painting. .. image:: /images/brushes/Krita_2.9_brushengine_smudge_length_01.png Strength Affects how much the smudge length takes from the previous dab its sampling. This means that smudge-length at 1.0 will never decrease, but smudge-lengths under that will decrease based on spacing and opacity/flow. .. image:: /images/brushes/Krita_2.9_brushengine_smudge_length_02.png .. _option_smudge_radius: Smudge Radius ~~~~~~~~~~~~~ The :guilabel:`Smudge Radius` allows you to sample a larger radius when using smudge-length in :guilabel:`Dulling` mode. The slider is percentage of the brush-size. You can have it modified with :guilabel:`Sensors`. .. image:: /images/brushes/Krita_2.9_brushengine_smudge_radius_01.png Overlay ~~~~~~~ Overlay is a toggle that determine whether or not the smudge brush will sample all layers (overlay on), or only the current one. Tutorial: Color Smudge Brushes ------------------------------ I recommend at least skimming over the first part to get an idea of what does what. Overview and settings ~~~~~~~~~~~~~~~~~~~~~ Overview: Smearing and Dulling ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Color Smudge Brush offers 2 modes, accessible from the :guilabel:`Smudge Rate` section: * Smearing: This mode mixes colors by smudging ("smearing") the area underneath. * Dulling: In his mode, the brush "picks up" the color underneath it, mixes it with its own color, then paints with it. .. image:: /images/brushes/Krita-tutorial5-I.1.png Smudge Length ^^^^^^^^^^^^^ To better demonstrate the smudge function, I turned the color rate function off. .. image:: /images/brushes/Krita-tutorial5-I.2.png Common behaviors: * Unchecking the smudge rate function sets smudge rate to 1.00 (not 0.00). * Opacity: Below 0.50, there is practically no smudging left: keep opacity over 0.50. Differences: * Spacing with Smearing: the lower the spacing, the smoother the effect, so for smearing with a round brush you may prefer a value of 0.05 or less. Spacing affects the length of the smudge trail, but to a much lesser extent. The "strength" of the effect remains more or less the same however. * Spacing with Dulling: the lower the spacing, the stronger the effect: lowering the spacing too much can make the dulling effect too strong (it picks up a color and never lets go of it). The length of the effect is also affected. * Both Smearing and Dulling have a "smudge trail", but in the case of Dulling, the brush shape is preserved. Instead the trail determines how fast the color it picked up is dropped off. The other settings should be pretty obvious from the pictures, so I'll spare you some walls of text. Color Rate, Gradient and Blending modes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: /images/brushes/Krita-tutorial5-I.3.png Again, most of the settings behaviors should be obvious from the pictures. Just remember to keep :guilabel:`Opacity` over 0.50. Brush tips ^^^^^^^^^^ The Color Smudge Brush has all the same brush tip options as the Pixel Brush! .. image:: /images/brushes/Krita-tutorial5-I.4.png Just remember that the smudge effects are weaker when a brush tip's opacity is lower, so for low-opacity brush tips, increase the opacity and smudge/color rates. Scatter and other shape dynamics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Color Smudge Brush shares the following dynamics with the Pixel Brush: Opacity, Size, Spacing, Rotation, and Scatter. However, because of the Smudge effects, the outcome will be different from the Pixel Brush. In particular, the Scatter option becomes much more significant. .. image:: /images/brushes/Krita-tutorial5-I.5-1.png A few things to note: * Scattering is proportional to the brush size. It's fine to use a scattering of 5.00 for a tiny round brush, but for bigger brushes, you may want to get it down to 0.50 or less. * You may notice the lines with the :guilabel:`Smearing` option. Those are caused by the fact that it picked up the hard lines of the rectangle. * For scattering, the brush picks up colors within a certain distance, not the color directly under the paintbrush: .. image:: /images/brushes/Krita-tutorial5-I.5-2.png Other color behaviors: Gradient, Blending modes, Overlay mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Gradient """""""" Gradient is equivalent to the :menuselection:`Source --> Gradient` and :menuselection:`Color --> Mix` for the Pixel brush: the color will vary between the colors of the gradient. .. image:: /images/brushes/Krita-tutorial5-I.6-1.png You can either: * Leave the default :menuselection:`Foreground --> Background gradient` setting, and just change the foreground and background colors * Select a more specific gradient * Or make custom gradients. Blending Modes """""""""""""" Blending Modes work just like with the Pixel Brush. The color used though is the color from Color rate. Color Blending modes with the smudge brush are even harder to predict than with the pixel brush, so I'll leave you to experiment on your own. Overlay Mode """""""""""" By default, the Color Smudge Brush only takes information from the layer it is on. However, if you want it to take color information from all the layers, you can turn on the Overlay mode. Be aware though, that it does so by "picking up" bits of the layer underneath, which may mess up your drawing if you later make changes to the layer underneath. Use cases: Smudging and blending ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This part describes use cases with color rate off. I won't explain the settings for dynamics in detail, as you can find the explanations in the :ref:`Pixel Brush tutorial `. Smudging effects ^^^^^^^^^^^^^^^^ For simple smudging: * Pick the Color Smudge Brush. You can use either Smearing or Dulling. * Turn off Color Rate * Smudge away .. image:: /images/brushes/Krita-tutorial5-II.2.png When using lower opacity brush tips, remember to "compensate" for the less visible effects by increasing both :guilabel:`Smudge Rate` and :guilabel:`Opacity`, if necessary to maximum. Some settings for Smearing """""""""""""""""""""""""" * For smoother smearing, decrease spacing. Remember that spacing is proportional to brush tip size. For a small round brush, 0.10 spacing is fine, but for mid-sized and large brushes, decrease spacing to 0.05 or less. Some settings for Dulling """"""""""""""""""""""""" * Lowering the spacing will also make the smudging effect stronger, so find a right balance. 0.10 for most mid-sized round brushes should be fine. * Unlike Smearing, Dulling preserves the brush shape and size, so it won't "fade off" in size like Smearing brushes do. You can mimic that effect through the simple size fade dynamic. Textured blending ^^^^^^^^^^^^^^^^^ In this case, what I refer to as "Blending" here is simply using one of the following two dynamics: * :guilabel:`Rotation` set to :guilabel:`Distance` or :guilabel:`Fuzzy` * And/or Scatter: * For most mid-sized brushes you will probably want to lower the scatter rate to 0.50 or lower. Higher settings are okay for tiny brushes. * Note that Scatter picks colors within a certain distance, not the color directly under the brush (see :ref:`option_brush_tip`). * Optional: Pile on size and other dynamics and vary brush tips. In fact, the Color Smudge brush is not a blur brush, so smudging is not a very good method of "smooth" blending. To blend smoothly, you'll have better luck with: * Building up the transition by painting with intermediate values, described later * Or using the "blur with feathered selection" method that I'll briefly mention at the end of this tutorial. I've tried to achieve smooth blending with Color Smudge brush by adding rotation and scatter dynamics, but honestly they looked like crap. However, the Color Smudge brush is very good at "textured blending": .. image:: /images/brushes/Krita-tutorial5-II.3.png Basically you can paint first and add textured transitions after. Use cases: Coloring ~~~~~~~~~~~~~~~~~~~ For this last section, :guilabel:`Color Rate` is on. Layer options ^^^^^^^^^^^^^ Before we get started, notice that you have several possibilities for your set up: * Shading on the same layer * Shading on a separate layer, possibly making use of alpha-inheritance. The brush blends with the transparency of the layer it's on. This means: * If the area underneath is more of less uniform, the output is actually similar as if shading on the same layer * But if the area underneath is not uniform, then you'll get fewer color variations. * Shading on a separate layer, using Overlay mode. Use this only if you're fairly sure you don't need to adjust the layer below, or the colors may become a mess. .. image:: /images/brushes/Krita-tutorial5-III.1-1.png Issue with transparency """"""""""""""""""""""" The Color Smudge Brush blends with transparency. What this means is that when you start a new, transparent layer and "paint" on this layer, you will nearly always get less than full opacity. Basically: * It may look great when you're coloring on a blank canvas * But it won't look so great when you add something underneath .. image:: /images/brushes/Krita-tutorial5-III.1-2.png The solution is pretty simple though: * Make sure you have the area underneath colored in first: * With tinting, you already have the color underneath colored, so that's done * For painting, roughly color in the background layer first * Or color in the shape on a new layer and make use of alpha-inheritance * For the last solution, use colors that contrast highly with what you're using for best effect. For example, shade in the darkest shadow area first, or the lightest highlights, and use the color smudge brush for the contrasting color. .. image:: /images/brushes/Krita-tutorial5-III.1-3.png Soft-shading ~~~~~~~~~~~~ Suppose you want more or less smooth color transitions. You can either: * :guilabel:`Color Rate` as low as 0.10 for round brushes, higher with non fully opaque brush tips. * Or set the :guilabel:`Smudge Rate` as low as 0.10 instead. * Or a combination of the two. Please try yourself for the output you like best. -* Optional: turn on :guilabel:`Rotation` for smoother blending -* Optional: turn on :guilabel:`Scatter` for certain effects +* Optional: turn on :guilabel:`Rotation` for smoother blending. +* Optional: turn on :guilabel:`Scatter` for certain effects. * Optional: fiddle with :guilabel:`Size` and :guilabel:`Opacity` dynamics as necessary. .. image:: /images/brushes/Krita-tutorial5-III.2-1.png This remains, in fact, a so-so way of making smooth transitions. It's best to build up intermediate values instead. Here: * I first passed over the blue area three times with a red color. I select 3 shades. * I color picked each of these values with the :kbd:`Ctrl +` |mouseleft| shortcut, then used them in succession. .. image:: /images/brushes/Krita-tutorial5-III.2-2.png Painting: thick oil style ~~~~~~~~~~~~~~~~~~~~~~~~~ Many of the included color smudge brush presets produce a thick oil paint-like effect. This is mainly achieved with the Smearing mode on. Basically: * Smearing mode with high smudge and color rates * Both at 0.50 are fine for normal round brushes or fully opaque predefined brushes * Up to 1.00 each for brushes with less density or non fully-opaque predefined brushes * Add Size/Rotation/Scatter dynamics as needed. When you do this, increase smudge and color rates to compensate for increased color mixing. .. image:: /images/brushes/Krita-tutorial5-III.3-1.png One thing I really like to do is to set different foreground and background colors, then turn on :menuselection:`Gradient --> Fuzzy`. Alternatively, just paint with different colors in succession (bottom-right example). .. image:: /images/brushes/Krita-tutorial5-III.3-2.png Here's some final random stuff. With pixel brushes, you can get all sorts of frill designs by using elongated brushes and setting the dynamics to rotation. You won't get that with Color Smudge Brushes. Instead you'll get something that looks more like... yarn. Which is cool too. Here, I just used oval brushes and :menuselection:`Rotation --> Distance`. .. image:: /images/brushes/Krita-tutorial5-III.3-3.png Painting: Digital watercolor style ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When I say "digital watercolor", it refers to a style often seen online, i.e. a soft, smooth shading style rather than realistic watercolor. For this you mostly need the Dulling mode. A few things: * Contrary to the Smearing mode, you may want to lower opacity for normal round brushes to get a smoother effect, to 0.70 for example. * Vary the brush tip fade value as well. * When using :guilabel:`Scatter` or other dynamics, you can choose to set smudge and color values to high or low values, for different outcomes. .. image:: /images/brushes/Krita-tutorial5-III.4.png Blurring ~~~~~~~~ You can: * Paint then smudge, for mostly texture transitions * Or build up transitions by using intermediate color values If you want even smoother effects, well, just use blur. Gaussian blur to be exact. .. image:: /images/brushes/Krita-tutorial5-III.5.png And there you go. That last little trick concludes this tutorial. diff --git a/reference_manual/brushes/brush_engines/curve_engine.rst b/reference_manual/brushes/brush_engines/curve_engine.rst index 10cc7911e..5b5368022 100644 --- a/reference_manual/brushes/brush_engines/curve_engine.rst +++ b/reference_manual/brushes/brush_engines/curve_engine.rst @@ -1,97 +1,97 @@ .. meta:: :description: The Curve 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, Curve Brush Engine .. _curve_brush_engine: ================== Curve Brush Engine ================== .. image:: /images/icons/curvebrush.svg The curve brush is a brush engine which creates strokes made of evenly spaced lines. It has, among other things been used as a replacement for pressure sensitive strokes in lieu of a tablet. Settings -------- First off, the line produced by the Curve brush is made up of 2 sections: -* The connection line, which is the main line drawn by your mouse +* The connection line, which is the main line drawn by your mouse. * The curve lines I think, which are the extra fancy lines that form at curves. The curve lines are formed by connecting one point of the curve to a point earlier on the curve. This also means that if you are drawing a straight line, these lines won't be visible, since they'll overlap with the connection line. Drawing faster gives you wider curves areas. .. image:: /images/brushes/Krita-tutorial6-I.1-1.png You have access to 3 settings from the Lines tab, as well as 2 corresponding dynamics: * Line width: this applies to both the connection line and the curve lines. * Line width dynamics: use this to vary line width dynamically. * History size: this determines the distance for the formation of curve lines. * If you set this at low values, then the curve lines can only form over a small distances, so they won't be too visible. * On the other hand, if you set this value too high, the curve lines will only start forming relatively "late". * So in fact, you'll get maximum curve lines area with a mid-value of say... 40~60, which is about the default value. Unless you're drawing at really high resolutions. * Curves opacity: you can't set different line widths for the connection line and the curve lines, but you can set a different opacity for the curve lines. With low opacity, this will produce the illusion of thinner curve lines. * Curves opacity dynamics: use this to vary Curves opacity dynamically. In addition, you have access to two checkboxes: -* Paint connection line, which toggles the visibility of the connection line +* Paint connection line, which toggles the visibility of the connection line. * Smoothing, which... I have no idea actually. I don't see any differences with or without it. Maybe it's for tablets? .. image:: /images/brushes/Krita-tutorial6-I.1-2.png Drawing variable-width lines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ And here's the only section of this tutorial that anyone cares about: pretty lineart lines! For this: * Use the Draw Dynamically mode: I tend to increase drag to at least 50. Vary Mass and Drag until you get the feel that's most comfortable for you. .. image:: /images/brushes/Krita-tutorial6-I.2-1.png * Set line width to a higher value (ex.: 5), then turn line width dynamics on: * If you're a tablet user, just set this to Pressure (this should be selected by default so just turn on the Line Width dynamics). I can't check myself, but a tablet user confirmed to me that it works well enough with Draw Dynamically. * If you're a mouse user hoping to get variable line width, set the Line Width dynamics to Speed. .. image:: /images/brushes/Krita-tutorial6-I.2-2.png * Set Curves opacity to 0: This is the simplest way to turn off the Curve lines. That said, leaving them on will get you more "expressive" lines. Additional tips: ^^^^^^^^^^^^^^^^ * Zig-zag a lot if you want a lot of extra curves lines. * Use smooth, sweeping motions when you're using Draw Dynamically with Line Width set to Speed: abrupt speed transitions will cause abrupt size transitions. It takes a bit of practice, and the thicker the line, the more visible the deformities will be. Also, zoom in to increase control. * If you need to vary between thin and thick lines, I suggest creating presets of different widths, since you can't vary the base line width from the canvas. Alternative: * Use the Draw Dynamically mode * Set Curves opacity to 100 * Optionally decrease History size to about 30 The curve lines will fill out the area they cover completely, resulting in a line with variable widths. Anyway, here are some comparisons: .. image:: /images/brushes/Krita-tutorial6-I.2-3.png And here are examples of what you can do with this brush: .. image:: /images/brushes/Krita-tutorial6-I.2-4.png diff --git a/reference_manual/brushes/brush_engines/pixel_brush_engine.rst b/reference_manual/brushes/brush_engines/pixel_brush_engine.rst index 2867cb491..de6487495 100644 --- a/reference_manual/brushes/brush_engines/pixel_brush_engine.rst +++ b/reference_manual/brushes/brush_engines/pixel_brush_engine.rst @@ -1,79 +1,79 @@ .. meta:: :description: The Pixel 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, Pixel Brush Engine .. _pixel_brush_engine: ================== Pixel Brush Engine ================== .. image:: /images/icons/pixelbrush.svg Brushes are ordered alphabetically. The brush that is selected by default when you start with Krita is the :guilabel:`Pixel Brush`. The pixel brush is the traditional mainstay of digital art. This brush paints impressions of the brush tip along your stroke with a greater or smaller density. .. image:: /images/brushes/Krita_Pixel_Brush_Settings_Popup.png Let's first review these mechanics: #. Select a brush tip. This can be a generated brush tip (round, square, star-shaped), a predefined bitmap brush tip, a custom brush tip or a text. -#. Select the spacing: this determines how many impressions of the tip will be made along your stroke +#. Select the spacing: this determines how many impressions of the tip will be made along your stroke. #. Select the effects: the pressure of your stylus, your speed of painting or other inputs can change the size, the color, the opacity or other aspects of the currently painted brush tip instance -- some applications call that a "dab". #. Depending on the brush mode, the previously painted brush tip instance is mixed with the current one, causing a darker, more painterly stroke, or the complete stroke is computed and put on your layer. You will see the stroke grow while painting in both cases, of course! Since 4.0, the Pixel Brush Engine has Multithreaded brush-tips, with the default brush being the fastest mask. Available Options: * :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_source` * :ref:`option_mix` * :ref:`option_airbrush` * :ref:`option_texture` * :ref:`option_masked_brush` Specific Parameters to the Pixel Brush Engine --------------------------------------------- Darken ~~~~~~ Allows you to Darken the source color with Sensors. .. image:: /images/brushes/Krita_2_9_brushengine_darken_01.png The color will always become black in the end, and will work with Plain Color, Gradient and Uniform random as source. Hue, Saturation, Value ~~~~~~~~~~~~~~~~~~~~~~ These parameters allow you to do an HSV adjustment filter on the :ref:`option_source` and control it with Sensors. .. image:: /images/brushes/Krita_2_9_brushengine_HSV_01.png Works with Plain Color, Gradient and Uniform random as source. Uses ^^^^ .. image:: /images/brushes/Krita_2_9_brushengine_HSV_02.png Having all three parameters on Fuzzy will help with rich color texture. In combination with :ref:`option_mix`, you can have even finer control. diff --git a/reference_manual/brushes/brush_settings/masked_brush.rst b/reference_manual/brushes/brush_settings/masked_brush.rst index 9f6b4f719..f2e9d453e 100644 --- a/reference_manual/brushes/brush_settings/masked_brush.rst +++ b/reference_manual/brushes/brush_settings/masked_brush.rst @@ -1,59 +1,59 @@ .. meta:: :description: How to use the masked brush functionality in Krita. This functionality is not unlike the dual brush option from photoshop. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Radianart - Scott Petrovic - Nmaghfurusman :license: GNU free documentation license 1.3 or later. .. index:: Dual Brush, Masked Brush, Stacked Brush .. _option_masked_brush: ============ Masked Brush ============ .. versionadded:: 4.0 Masked brush is new feature that is only available in the :ref:`pixel_brush_engine`. They are additional settings you will see in the brush editor. Masked brushes allow you to combine two brush tips in one stroke. One brush tip will be a mask for your primary brush tip. A masked brush is a good alternative to texture for creating expressive and textured brushes. .. image:: /images/brushes/Masking-brush1.jpg :align: center .. note:: Due to technological constraints, the masked brush only works in the wash painting mode. However, do remember that flow works as opacity does in the build-up painting mode. :ref:`option_brush_tip` Like with normal brush tip you can choose any brush tip and change it size, spacing, and rotation. Masking brush size is relative to main brush size. This means when you change your brush size masking tip will be changed to keep the ratio. :ref:`Blending mode (drop-down inside Brush tip)`: Blending modes changes how tips are combined. .. image:: /images/brushes/Masking-brush2.jpg :align: center :ref:`option_size` The size sensor option of the second tip. :ref:`option_opacity_n_flow` The opacity and flow of the second tip. This is mapped to a sensor by default. Flow can be quite aggressive on subtract mode, so it might be an idea to turn it off there. :ref:`option_ratio` This affects the brush ratio on a given brush. :ref:`option_mirror` The Mirror option of the second tip. :ref:`option_rotation` The rotation option of the second tip. Best set to "fuzzy dab". :ref:`option_scatter` The scatter option. The default is quite high, so don't forget to turn it lower. Difference from :ref:`option_texture`: - - You don’t need seamless texture to make cool looking brush - - Stroke generates on the fly, it always different - - Brush strokes looks same on any brush size - - Easier to fill some areas with solid color but harder to make it hard textured + - You don’t need seamless texture to make cool looking brush. + - Stroke generates on the fly, it always different. + - Brush strokes looks same on any brush size. + - Easier to fill some areas with solid color but harder to make it hard textured. diff --git a/reference_manual/brushes/brush_settings/texture.rst b/reference_manual/brushes/brush_settings/texture.rst index fafc8a2eb..e257cd615 100644 --- a/reference_manual/brushes/brush_settings/texture.rst +++ b/reference_manual/brushes/brush_settings/texture.rst @@ -1,81 +1,81 @@ .. 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/brushes/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/brushes/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/brushes/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/brushes/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/brushes/Krita_2_9_brushengine_texture_07.png Invert Pattern Invert the pattern. .. image:: /images/brushes/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/brushes/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). .. image:: /images/brushes/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/clones_array.rst b/reference_manual/clones_array.rst index 3833cfc33..9f068fb25 100644 --- a/reference_manual/clones_array.rst +++ b/reference_manual/clones_array.rst @@ -1,30 +1,30 @@ .. meta:: :description: - The Clones Array functionality in Krita + The Clones Array functionality in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Clones Array, Clone .. _clones_array: Clones Array ------------ Allows you to create a set of clone layers quickly. These are ordered in terms of rows and columns. The default options will create a 2 by 2 grid. For setting up tiles of an isometric game, for example, you'd want to set the X offset of the rows to half the value input into the X offset for the columns, so that rows are offset by half. For a hexagonal grid, you'd want to do the same, but also reduce the Y offset of the grids by the amount of space the hexagon can overlap with itself when tiled. \- Elements The amount of elements that should be generated using a negative of the offset. \+ Elements The amount of elements that should be generated using a positive of the offset. X offset The X offset in pixels. Use this in combination with Y offset to position a clone using Cartesian coordinates. Y offset The Y offset in pixels. Use this in combination with X offset to position a clone using Cartesian coordinates. Distance The line-distance of the original origin to the clones origin. Use this in combination with angle to position a clone using a polar coordinate system. Angle The angle-offset of the column or row. Use this in combination with distance to position a clone using a polar coordinate system. diff --git a/reference_manual/dockers/advanced_color_selector.rst b/reference_manual/dockers/advanced_color_selector.rst index 04aa48863..ae1ad7761 100644 --- a/reference_manual/dockers/advanced_color_selector.rst +++ b/reference_manual/dockers/advanced_color_selector.rst @@ -1,176 +1,176 @@ .. 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/dockers/Advancecolorselector.jpg As compared to other color selectors in Krita, Advanced color selector provides more control and options to the user. To open Advanced color selector choose :menuselection:`Settings --> Dockers --> Advanced 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. Show Color Selector .. versionadded:: 4.2 This allows you to configure whether to show or hide the main color selector. Type and Shape ~~~~~~~~~~~~~~ .. image:: /images/dockers/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, gray, 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 gray 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). 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 `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 color model. .. note:: Triangle is in all color models because to a certain extent, it is a wildcard shape: All color models look the same in an equilateral triangle selector. Luma Coefficients ~~~~~~~~~~~~~~~~~ This allows you to edit the Luma coefficients for the HSY model selectors to your leisure. Want to use `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 the 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. Behavior -------- When docker resizes ~~~~~~~~~~~~~~~~~~~ This determines the behavior of the widget as it becomes 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 the :kbd:`Shift + I` and :kbd:`Shift + M` shortcuts, 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 the :kbd:`H` key. Common Patches ~~~~~~~~~~~~~~ The common patches are generated from the image, and are the most common color in the image. The hotkey for them on canvas is the :kbd:`U` key. Gamut masking ------------- .. versionadded:: 4.2 .. note:: Gamut masking is available only when the selector shape is set to wheel. You can select and manage your gamut masks in the :ref:`gamut_mask_docker`. In the gamut masking toolbar at the top of the selector you can toggle the selected mask off and on (left button). You can also rotate the mask with the rotation slider (right). External Info ------------- -`HSI and HSY for Krita’s advanced color selector. `_ +`HSI and HSY for Krita’s advanced color selector `_. diff --git a/reference_manual/dockers/artistic_color_selector.rst b/reference_manual/dockers/artistic_color_selector.rst index ca8db8a67..5aaff3191 100644 --- a/reference_manual/dockers/artistic_color_selector.rst +++ b/reference_manual/dockers/artistic_color_selector.rst @@ -1,95 +1,95 @@ .. meta:: :description: Overview of the artistic color selector docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Anna Medonosova :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Selector, ! Artistic Color Selector .. _artistic_color_selector_docker: ============================== Artistic Color Selector Docker ============================== A color selector inspired by traditional color wheel and workflows. Usage ----- .. figure:: /images/dockers/Krita_Artistic_Color_Selector_Docker.png Artistic color selector with a gamut mask. Select hue and saturation on the wheel (5) and value on the value scale (4). |mouseleft| changes foreground color (6). |mouseright| changes background color (7). The blip shows the position of current foreground color on the wheel (black&white circle) and on the value scale (black&white line). Last selected swatches are outlined. Parameters of the wheel can be set in :ref:`artistic_color_selector_docker_wheel_preferences` menu (2). Selector settings are found under :ref:`artistic_color_selector_docker_selector_settings` menu (3). Gamut Masking ~~~~~~~~~~~~~ You can select and manage your gamut masks in the :ref:`gamut_mask_docker`. In the gamut masking toolbar (1) you can toggle the selected mask off and on (left button). You can also rotate the mask with the rotation slider (right). .. _artistic_color_selector_docker_wheel_preferences: Color wheel preferences ----------------------- .. _artistic_color_selector_docker_fig_wheel_preferences: .. figure:: /images/dockers/Krita_Artistic_Color_Selector_Docker_3.png Color wheel preferences. Sliders 1, 2, and 3 Adjust the number of steps of the value scale, number of hue sectors and saturation rings on the wheel, respectively. Continuous Mode The value scale and hue sectors can also be set to continuous mode (with the infinity icon on the right of the slider). If toggled on, the respective area shows a continuous gradient instead of the discrete swatches. Invert saturation (4) Changes the order of saturation rings within the the hue sectors. By default, the wheel has gray in the center and most saturated colors on the perimeter. :guilabel:`Invert saturation` puts gray on the perimeter and most saturated colors in the center. Reset to default (5) Loads default values for the sliders 1, 2, and 3. These default values are configured in selector settings. .. _artistic_color_selector_docker_selector_settings: Selector settings ----------------- .. figure:: /images/dockers/Krita_Artistic_Color_Selector_Docker_2.png Selector settings menu. Selector Appearance (1) Show background color indicator Toggles the bottom-right triangle with current background color. Show numbered value scale If checked, the value scale includes a comparative gray scale with lightness percentage. Color Space (2) Set the color model used by the selector. For detailed information on color models, see :ref:`color_models`. Luma Coefficients (3) If the selector's color space is HSY, you can set custom Luma coefficients and the amount of gamma correction applied to the value scale (set to 1.0 for linear scale; see :ref:`linear_and_gamma`). Gamut Masking Behavior (4) The selector can be set either to :guilabel:`Enforce gamut mask`, so that colors outside the mask cannot be selected, or to :guilabel:`Just show the shapes`, where the mask is visible but color selection is not limited. Default Selector Steps Settings Values the color wheel and value scale will be reset to default when the :guilabel:`Reset to default` button in :ref:`artistic_color_selector_docker_wheel_preferences` is pressed. External Info ------------- -- `HSI and HSY for Krita’s advanced colour selector by Wolthera van Hövell tot Westerflier. `_ -- `The Color Wheel, Part 7 by James Gurney. `_ +- `HSI and HSY for Krita’s advanced colour selector by Wolthera van Hövell tot Westerflier `_. +- `The Color Wheel, Part 7 by James Gurney `_. diff --git a/reference_manual/dockers/channels_docker.rst b/reference_manual/dockers/channels_docker.rst index 5449f2752..e17a47a31 100644 --- a/reference_manual/dockers/channels_docker.rst +++ b/reference_manual/dockers/channels_docker.rst @@ -1,45 +1,45 @@ .. meta:: :description: Overview of the channels docker. .. metadata-placeholder :authors: - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Channels .. _channels_docker: ======== Channels ======== .. image:: /images/dockers/Krita_Channels_Docker.png The channel docker allows you to turn on and off the channels associated with the color space that you are using. Each channel has an enabled and disabled checkbox. You cannot edit individual layer channels from this docker. Editing Channels ---------------- If you want to edit individual channels by their grayscale component, you will need to manually separate a layer. This can be done with a series of commands with the layer docker. #. Select the layer you want to break apart. -#. Go to :menuselection:`Image --> Separate Image` +#. Go to :menuselection:`Image --> Separate Image`. #. Select the following options and click :guilabel:`OK`: - #. Source: Current Layer - #. Alpha Options: Create separate separation from alpha channel - #. Output to Grayscale, not color: unchecked + #. Source: Current Layer. + #. Alpha Options: Create separate separation from alpha channel. + #. Output to Grayscale, not color: unchecked. -#. Hide your original layer -#. Select All of the new channel layers and put them in a group layer (:menuselection:`Layer --> Quick Group`) -#. Select the Red layer and change the blending mode to "Copy Red" (these are in the Misc. category) -#. Select the Green layer and change the blending mode to "Copy Green" -#. Select the Blue layer and change the blending mode to "Copy Blue" +#. Hide your original layer. +#. Select All of the new channel layers and put them in a group layer (:menuselection:`Layer --> Quick Group`). +#. Select the Red layer and change the blending mode to "Copy Red" (these are in the Misc. category). +#. Select the Green layer and change the blending mode to "Copy Green". +#. Select the Blue layer and change the blending mode to "Copy Blue" . #. Make sure the Alpha layer is at the bottom of the group. #. Enable Inherit Alpha for the Red, Green, and Blue layers. Here is a `video to see this process `_ in Krita 3.0. When working with editing channels, it can be easier to use the Isolate Layer feature to only see the channel. Right-click on the layer to find Isolate Layer. diff --git a/reference_manual/dockers/gamut_mask_docker.rst b/reference_manual/dockers/gamut_mask_docker.rst index ca05c73fb..52cbdd562 100644 --- a/reference_manual/dockers/gamut_mask_docker.rst +++ b/reference_manual/dockers/gamut_mask_docker.rst @@ -1,78 +1,78 @@ .. meta:: :description: Overview of the gamut mask docker. .. metadata-placeholder :authors: - Anna Medonosova :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Selector, ! Gamut Mask Docker, ! Gamut Mask .. _gamut_mask_docker: ================== Gamut Masks Docker ================== .. image:: /images/dockers/Krita_Gamut_Mask_Docker.png .. versionadded:: 4.2 Docker for gamut masks selection and management. Usage ----- |mouseleft| an icon (1) to apply a mask to color selectors. Gamut Masks can be imported and exported in the resource manager. Management Toolbar ~~~~~~~~~~~~~~~~~~ Create new mask (2) Opens the mask editor with an empty template. Edit mask (3) Opens the the currently selected mask in the editor. Duplicate mask (4) Creates a copy of the currently selected mask and opens the copy in the editor. Delete mask (5) Deletes the currently selected mask. Editing ------- If you choose to create a new mask, edit, or duplicate selected mask, the mask template document will be opened as a new view (1). There you can create new shapes and modify the mask with standard vector tools (:ref:`vector_graphics`). Fill in the fields at (2). Title (Mandatory) The name of the gamut mask. Description A description. :guilabel:`Preview` the mask in the artistic color selector (4), :guilabel:`save` the mask (5), or :guilabel:`cancel` editing (3). .. warning:: * The shapes need to be added to the layer named “maskShapesLayer” (which is selected by default). * The shapes need have solid background to show correctly in the editor. * A template with no shapes cannot be saved. .. note:: The mask is intended to be composed of basic vector shapes. Although interesting results might arise from using advanced vector drawing techniques, not all features are guaranteed to work properly (e.g. grouping, vector text, etc.). .. image:: /images/dockers/Krita_Gamut_Mask_Docker_2.png External Info ------------- -- `Color Wheel Masking, Part 1 by James Gurney. `_ -- `The Shapes of Color Schemes by James Gurney. `_ -- `Gamut Masking Demonstration by James Gourney (YouTube). `_ +- `Color Wheel Masking, Part 1 by James Gurney `_. +- `The Shapes of Color Schemes by James Gurney `_. +- `Gamut Masking Demonstration by James Gourney (YouTube) `_. diff --git a/reference_manual/dockers/grids_and_guides.rst b/reference_manual/dockers/grids_and_guides.rst index 2c24eeb80..a3ab2e60e 100644 --- a/reference_manual/dockers/grids_and_guides.rst +++ b/reference_manual/dockers/grids_and_guides.rst @@ -1,92 +1,92 @@ .. 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 the :kbd:`Shift + S` shortcut. Type - The type of Grid + 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/dockers/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/dockers/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/histogram_docker.rst b/reference_manual/dockers/histogram_docker.rst index 0ca8619f8..0629f05d6 100644 --- a/reference_manual/dockers/histogram_docker.rst +++ b/reference_manual/dockers/histogram_docker.rst @@ -1,26 +1,26 @@ .. meta:: :description: Overview of the histogram docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: ! Histogram .. _histogram_docker: ================ Histogram Docker ================ A Histogram is a chart that shows how much of a specific channel value is used in an image. Its purpose is to give a really technical representation of the colors in an image, which can be helpful in decision making about filters. .. image:: /images/dockers/Histogram_docker.png The histogram docker was already available via :menuselection:`Layers --> Histogram`, but it's now a proper docker. External Links: -* `Wikipedia's entry on image histograms. `_ +* `Wikipedia's entry on image histograms `_. diff --git a/reference_manual/dockers/reference_images_docker.rst b/reference_manual/dockers/reference_images_docker.rst index 73e2f3e59..7512d41ec 100644 --- a/reference_manual/dockers/reference_images_docker.rst +++ b/reference_manual/dockers/reference_images_docker.rst @@ -1,41 +1,41 @@ .. meta:: :description: Overview of the pattern docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Reference .. _reference_images_docker: ======================= Reference Images Docker ======================= .. deprecated:: 4.0 - This docker was removed in Krita 4.0 due to crashes on Windows. :ref:`The reference images tool in 4.1 replaces it. ` + This docker was removed in Krita 4.0 due to crashes on Windows. :ref:`The reference images tool in 4.1 replaces it. `. .. image:: /images/dockers/400px-Krita_Reference_Images_Browse_Docker.png .. image:: /images/dockers/400px-Krita_Reference_Images_Image_Docker.png This docker allows you to pick an image from outside of Krita and use it as a reference. Even better, you can pick colors from it directly. The docker consists of two tabs: Browsing and Image. Browsing -------- Browsing gives you a small file browser, so you can navigate to the map where the image you want to use as reference is located. There's an image strip beneath the browser, allowing you to select the image which you want to use. Double click to load it in the :guilabel:`Image` tab. Image ----- This tab allows you to see the images you selected, and change the zoom level. Clicking anywhere on the image will allow you to pick the merged color from it. Using the cross symbol, you can remove the icon. diff --git a/reference_manual/filters/edge_detection.rst b/reference_manual/filters/edge_detection.rst index e2a277f2b..513977963 100644 --- a/reference_manual/filters/edge_detection.rst +++ b/reference_manual/filters/edge_detection.rst @@ -1,93 +1,93 @@ .. meta:: :description: Overview of the edge detection 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 are 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/filters/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 + 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. Sobel 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/filters/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 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. Sobel 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). diff --git a/reference_manual/hdr_display.rst b/reference_manual/hdr_display.rst index 8295a2f4f..77b299234 100644 --- a/reference_manual/hdr_display.rst +++ b/reference_manual/hdr_display.rst @@ -1,87 +1,87 @@ .. meta:: :description: How to configure Krita for HDR displays. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: HDR, High Dynamic Range, HDR display .. _hdr_display: HDR Display ----------- .. versionadded:: 4.2 .. Note:: Currently only available on Windows. Since 4.2 Krita can not just edit high bitdepths images, but also render them on screen in a way that an HDR capable setup can show them as HDR images. HDR images, to put it simply, are images with really bright colors. They do this by having a very large range of colors available, 16 bit and higher, and to understand the upper range of the available colors as brighter than the brightest white most screens can show. HDR screens, in turn, are screens which can show brighter colors than most screens can show, and can thus show the super-bright colors in these HDR images. This allows for images where bright things, like fire, sunsets, magic, look really spectacular! It also shows more subtle shadows and has a better contrast in lower color values, but this requires a sharper eye. Configuring HDR ~~~~~~~~~~~~~~~ Krita cannot show HDR with any given monitor, you will need an HDR capable setup. HDR capable setups are screens which can show more than 100 nits, preferably a value like 1000 and can show the rec 2020 PQ space. You will need to have the appropriate display cable(otherwise the values are just turned into regular SDR) and a graphics card which supports HDR, as well as suitable drivers. You then also need to configure the system settings for HDR. If you can confirm that the system understands your setup as an HDR setup, you can continue your :ref:`configuration in Krita`, in :menuselection:`Settings --> Configure Krita --> Display`. There, you need to select the preferred surface, which should be as close to the display format as possible. Then restart Krita. Painting in HDR ~~~~~~~~~~~~~~~ To create a proper HDR image, you will need to make a canvas using a profile with rec 2020 gamut and a linear TRC. :guilabel:`Rec2020-elle-V4-g10.icc` is the one we ship by default. HDR images are standardized to use the Rec2020 gamut, and the PQ TRC. However, a linear TRC is easier to edit images in, so we don't convert to PQ until we're satisfied with our image. For painting in this new exciting color space, check the :ref:`scene_linear_painting` page, which covers things like selecting colors, gotchas, which filters work and cool workflows. Exporting HDR ~~~~~~~~~~~~~ Now for saving and loading. The kra file format can save the floating point image just fine, and is thus a good working file format. For sharing with other image editors, :ref:`file_exr` is recommended. For sharing with the web we currently only have :ref:`HDR png export `, but there's currently very little support for this standard. In the future we hope to see heif and avif support. For exporting HDR animations, we support saving HDR to the new codec for mp4 and mkv: H.265. To use these options... -* Get a version of FFmpeg that supports H.256 +* Get a version of FFmpeg that supports H.256. * Have an animation open. -* :menuselection:`File --> Render Animation` -* Select :guilabel:`Video` +* :menuselection:`File --> Render Animation`. +* Select :guilabel:`Video`. * Select for :guilabel:`Render as`, 'MPEG-4 video' or 'Matroska'. * Press the configure button next to the file format dropdown. -* Select at the top 'H.265, MPEG-H Part 2 (HEVC)' +* Select at the top 'H.265, MPEG-H Part 2 (HEVC)'. * Select for the :guilabel:`Profile`, 'main10'. * :guilabel:`HDR Mode` should now enable. Toggle it. * click :guilabel:`HDR Metadata` to configure the HDR metadata (options described below). * finally, when done, click 'render'. HDR Metadata ~~~~~~~~~~~~ This is in the render animation screen. It configures the SMPTE ST.2086 or Master Display Color Volumes metadata and is required for the HDR video to be transferred properly to the screen by video players and the cable. Master Display The colorspace characteristics of the display on for which your image was made, typically also the display that you used to paint the image with. There are two default values for common display color spaces, and a custom value, which will enable the :guilabel:`Display` options. Display The precise colorspace characteristics for the display for which your image was made. If you do not have custom selected for :guilabel:`Master Display`, these are disabled as we can use predetermined values. Red/Green/Blue Primary The xyY x and xyY y value of the three chromacities of your screen. These define the gamut. White Point The xyY x and xyY y value of the white point of your screen, this defines what is considered 'neutral grey'. Min Luminance The darkest value your screen can show in nits. Max Luminance The brightest value your screen can show in nits. MaxCLL The value of the brightest pixel of your animation in nits. MaxFALL The average 'brightest value' of the whole animation. diff --git a/reference_manual/image_split.rst b/reference_manual/image_split.rst index ca001d9a5..f34718576 100644 --- a/reference_manual/image_split.rst +++ b/reference_manual/image_split.rst @@ -1,40 +1,40 @@ .. meta:: :description: - The Image Split functionality in Krita + The Image Split functionality in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Splitting .. _image_split: Image Split ----------- Found under :menuselection:`Image --> Image Split`, the Image Split function allows you to evenly split a document up into several sections. This is useful for splitting up spritesheets for example. Horizontal Lines The amount of horizontal lines to split at. 4 lines will mean that the image is split into 5 horizontal stripes. Vertical Lines The amount of vertical lines to split at. 4 lines will mean that the image is split into 5 vertical stripes. Sort Direction .. versionadded:: 4.2 Whether to number the files using the following directions: Horizontal Left to right, top to bottom. Vertical Top to bottom, left to right. Prefix The prefix at which the files should be saved at. By default this is the current document name. File Type Which file format to save to. Autosave on split This will result in all slices being saved automatically using the above prefix. Otherwise Krita will ask the name for each slice. diff --git a/reference_manual/layers_and_masks/clone_layers.rst b/reference_manual/layers_and_masks/clone_layers.rst index 8e689d21b..450146bec 100644 --- a/reference_manual/layers_and_masks/clone_layers.rst +++ b/reference_manual/layers_and_masks/clone_layers.rst @@ -1,48 +1,48 @@ .. meta:: :description: How to use clone layers. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Bugsbane - Boudewijn Rempt - Alan - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Layers, Linked Clone, Clone Layer .. _clone_layers: ============ Clone Layers ============ A clone layer is a layer that keeps an up-to-date copy of another layer. You cannot draw or paint on it directly, but it can be used to create effects by applying different types of layers and masks (e.g. filter layers or masks). Example uses of Clone Layers ---------------------------- For example, if you were painting a picture of some magic person and wanted to create a glow around them that was updated as you updated your character, you could: #. Have a Paint Layer where you draw your character #. Use the Clone Layer feature to create a clone of the layer that you drew your character on #. Apply an HSV filter mask to the clone layer to make the shapes on it white (or blue, or green etc.) -#. Apply a blur filter mask to the clone layer so it looks like a "glow" +#. Apply a blur filter mask to the clone layer so it looks like a "glow". As you keep painting and adding details, erasing on the first layer, Krita will automatically update the clone layer, making your "glow" apply to every change you make. Changing the source of Clone Layers ----------------------------------- You can change the source of one or more Clone Layers in the Layers Docker. To do so, select one or more Clone Layers in the docker (hold :kbd:`Ctrl` or :kbd:`Shift` and left-click the layers). Then, right-click on any selected layer. In the context menu, there is an action named :guilabel:`Set Copy From`. Click it. A dialog will pop up and there is a drop-down menu with all possible layers to be set as the source of all selected Clone Layers. If the current source of them consists of multiple layers, the default activated selection in the drop-down menu will be blank. Otherwise, it would be the common source of selected Clone Layers. Possible target layers are determined through the following criteria: #. Any Clone Layer that is selected is invalid. #. A parent or clone of any invalid layer is invalid. #. All other layers are valid. If you select one layer in the drop-down menu, a preview of the canvas will be shown. Click :guilabel:`OK` to apply the changes. Click :guilabel:`Cancel` to discard the changes. If you make changes to the image outside the dialog, the changes will be applied and the dialog will be automatically closed. diff --git a/reference_manual/layers_and_masks/group_layers.rst b/reference_manual/layers_and_masks/group_layers.rst index e1ca71fd9..c1e9b6dfd 100644 --- a/reference_manual/layers_and_masks/group_layers.rst +++ b/reference_manual/layers_and_masks/group_layers.rst @@ -1,21 +1,21 @@ .. meta:: :description: How to use group layers in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Bugsbane :license: GNU free documentation license 1.3 or later. .. index:: Layers, Groups, Passthrough Mode .. _group_layers: ============ Group Layers ============ While working in complex artwork you'll often find the need to group the layers or some portions and elements of the artwork in one unit. Group layers come in handy for this, they allow you to make a segregate the layers, so you can hide these quickly, or so you can apply a mask to all the layers inside this group as if they are one, you can also recursively transform the content of the group... Just drag the mask so it moves to the layer. They are quickly made with the :kbd:`Ctrl + G` shortcut. -A thing to note is that the layers inside a group layer are considered separately when the layer gets composited, the layers inside a group are separately composited and then this image is taken in to account when compositing the whole image, while on the contrary, the groups in Photoshop have something called pass-through mode which makes the layer behave as if they are not in a group and get composited along with other layers of the stack. The recent versions of Krita have pass-through mode you can enable it to get similar behavior +A thing to note is that the layers inside a group layer are considered separately when the layer gets composited, the layers inside a group are separately composited and then this image is taken in to account when compositing the whole image, while on the contrary, the groups in Photoshop have something called pass-through mode which makes the layer behave as if they are not in a group and get composited along with other layers of the stack. The recent versions of Krita have pass-through mode you can enable it to get similar behavior. diff --git a/reference_manual/layers_and_masks/split_alpha.rst b/reference_manual/layers_and_masks/split_alpha.rst index 39f6c896f..f83edbd5e 100644 --- a/reference_manual/layers_and_masks/split_alpha.rst +++ b/reference_manual/layers_and_masks/split_alpha.rst @@ -1,36 +1,36 @@ .. meta:: :description: - Split Alpha: how to work with color and alpha channels of the layer separately + Split Alpha: how to work with color and alpha channels of the layer separately. .. metadata-placeholder :authors: - Dmitry Kazakov - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Layers, Transparency, Alpha channel, Game .. _split_alpha: =========== Split Alpha =========== Sometimes especially in the field of game development, artists need to work with the alpha channel of the texture separately. To assist such workflow, Krita has a special functionality called :menuselection:`Split Alpha`. It allows splitting alpha channel of a paint layer into a separate :ref:`transparency_masks`. The artist can work on the transparency mask in an isolated environment and merge it back when he has finished working. How to work with alpha channel of the layer ------------------------------------------- #. |mouseright| the paint layer in the layers docker. #. Choose :menuselection:`Split Alpha --> Alpha into Mask`. #. Use your preferred paint tool to paint on the Transparency Mask. Black paints transparency (see-through), white paints opacity (visible). Gray values paint semi-transparency. #. If you would like to isolate alpha channel, enter Isolated Mode by |mouseright| + :menuselection:`Isolate Layer` (or the :kbd:`Alt +` |mouseleft| shortcut). #. When finished editing the Transparency Mask, |mouseright| on it and select :menuselection:`Split Alpha --> Write as Alpha`. How to save a PNG texture and keep color values in fully transparent areas -------------------------------------------------------------------------- Normally, when saving an image to a file, all fully transparent areas of the image are filled with black color. It happens because when composing the layers of the image, Krita drop color data of fully transparent pixels for efficiency reason. To avoid this of color data loss you can either avoid compositing of the image i.e. limit image to only one layer without any masks or effects, or use the following method: #. |mouseright| the layer in the layers docker. #. Choose :menuselection:`Split Alpha --> Alpha into Mask`. -#. |mouseright| on the created mask and select :menuselection:`Split Alpha --> Save Merged...` +#. |mouseright| on the created mask and select :menuselection:`Split Alpha --> Save Merged...`. diff --git a/reference_manual/linux_command_line.rst b/reference_manual/linux_command_line.rst index 47ba0572b..2fbeb3302 100644 --- a/reference_manual/linux_command_line.rst +++ b/reference_manual/linux_command_line.rst @@ -1,142 +1,142 @@ .. meta:: :description: Overview of Krita's command line options. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Command Line .. _linux_cmd: ================== Linux Command Line ================== As a native Linux program, Krita allows you to do operations on images without opening the program when using the Terminal. This option was disabled on Windows and OSX, but with 3.3 it is enabled for them! This is primarily used in bash or shell scripts, for example, to mass convert kra files into pngs. Export ------ This allows you to quickly convert files via the terminal: ``krita importfilename --export --export-filename exportfilename`` .. program:: krita importfilename Replace this with the filename of the file you want to manipulate. .. option:: --export Export a file selects the export option. .. option:: --export-filename Export filename says that the following word is the filename it should be exported to. exportfilename Replace this with the name of the output file. Use a different extension to change the file format. Example: ``krita file.png --export --export-filename final.jpg`` This line takes the file ``file.png`` and saves it as ``file.jpg``. .. option:: --export-sequence .. versionadded:: 4.2 - Export animation to the given filename and exit + Export animation to the given filename and exit. If a KRA file has no animation, then this command prints "This file has no animation." error and does nothing. ``krita --export-sequence --export-filename file.png test.kra`` This line takes the animation in test.kra, and uses the value of --export-filename (file.png), to determine the sequence fileformat('png') and the frame prefix ('file'). PDF export ---------- Pdf export looks a bit different, using the ``--export-pdf`` option. ``krita file.png --export-pdf --export-filename final.pdf`` export-pdf exports the file ``file.png`` as a pdf file. .. warning:: This has been removed from 3.1 because the results were incorrect. Open with Custom Screen DPI --------------------------- Open Krita with specified Screen DPI. .. program:: krita .. option:: --dpi Open Krita with specified Screen DPI. For example: ``krita --dpi <72,72>`` Open template ------------- Open krita and automatically open the given template(s). This allows you to, for example, create a shortcut to Krita that opens a given template, so you can get to work immediately! ``krita --template templatename.desktop`` .. program:: krita .. option:: --template templatename.desktop Selects the template option. All templates are saved with the .desktop extension. You can find templates in the .local/share/krita/template or in the install folder of Krita. ``krita --template BD-EuroTemplate.desktop`` This opens the European BD comic template with Krita. ``krita --template BD-EuroTemplate.desktop BD-EuroTemplate.desktop`` This opens the European BD template twice, in separate documents. Start up -------- .. versionadded:: 3.3 .. program:: krita .. option:: --nosplash Starts krita without showing the splash screen. .. option:: --canvasonly Starts krita in canvasonly mode. .. option:: --fullscreen Starts krita in fullscreen mode. .. option:: --workspace Workspace Starts krita with the given workspace. So for example... ``krita --workspace Animation`` Starts Krita in the Animation workspace. diff --git a/reference_manual/list_supported_tablets.rst b/reference_manual/list_supported_tablets.rst index 4f7f923cb..2afcf6966 100644 --- a/reference_manual/list_supported_tablets.rst +++ b/reference_manual/list_supported_tablets.rst @@ -1,765 +1,765 @@ .. meta:: :description: Reference list of tablets that work and don't work with Krita. .. metadata-placeholder :authors: - YMarnet - Scott Petrovic - Michael John - PGeier - Aster Wang - Richard Brook - Timothée Giet - Alvin Wong - Raghavendra Kamath - Radianart - Thorben Kruger - Boudewijn Rempt - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Tablets .. _list_supported_tablets: ============================= The List of Supported Tablets ============================= This is specifically about support on Windows, not Linux or OSX. .. list-table:: :header-rows: 1 :widths: 1 2 1 * - Brand - Model - Supported * - Adesso - CyberTablet T12 - ❓ Unknown * - Adesso - CyberTablet Z12 - ❓ Unknown * - Adesso - CyberTablet T10 - ❓ Unknown * - Adesso - CyberTablet T22HD - ❓ Unknown * - Adesso - CyberTablet M14 - ❓ Unknown * - Adesso - CyberTablet W10 - ❓ Unknown * - Adesso - CyberTablet Z8 - ✔️ Supposed to work * - Aiptek - HyperPen Mini - ❓ Unknown * - Aiptek - MediaTablet 10000u - ❓ Unknown * - Aiptek - MediaTablet 14000u - ❓ Unknown * - Aiptek - MediaTablet Ultimate II - ❓ Unknown * - Aiptek - MyNote Bluetooth - ❓ Unknown * - Aiptek - MyNote Pen - ❓ Unknown * - Aiptek - SlimTablet 600u Premium II - ❓ Unknown * - Artisul - (by UC-Logic)D13 - ❌ Reported to not work * - Artisul - (by UC-Logic)D10 - ❌ Reported to not work * - Artisul - (by UC-Logic)Pencil (S/M) - ❌ Reported to not work * - Bosto - 22HDX - ❌ Reported to be broken * - Bosto - 22UX - ❌ Reported to be broken * - Bosto - 22HD Mini - ❌ Reported to be broken * - Bosto - 22U Mini - ❓ Unknown * - Bosto - 14WX - ❓ Unknown * - Bosto - 13HD - ❓ Unknown * - CalComp - DrawingBoard VI - ❓ Unknown * - CalComp - Creation Station - ❓ Unknown * - CalComp - SummaSketch - ❓ Unknown * - Dynalink - FreeDraw 4x5 - ❓ Unknown * - Elmo - CRA-1 wireless tablet - ❓ Unknown * - Gaomon - S56K - ❓ Unknown * - Gaomon - GM185 - ❓ Unknown * - Gaomon - M10K - ❓ Unknown * - Gaomon - P1560 - ✔️ Supposed to work * - Genius - EasyPen - ❓ Unknown * - Genius - EasyPen 340 - ❓ Unknown * - Genius - EasyPen F610E - ❓ Unknown * - Genius - EasyPen i405 - ❓ Unknown * - Genius - EasyPen i405X - ❓ Reported to be working on Linux only for 2.9.x versions * - Genius - EasyPen i405XE - ❓ Unknown * - Genius - EasyPen M406 - ❓ Unknown * - Genius - EasyPen M406W - ❓ Unknown * - Genius - EasyPen M406WE - ❓ Unknown * - Genius - EasyPen M406XE - ❓ Unknown * - Genius - EasyPen M506 - ❓ Unknown * - Genius - EasyPen M506A - ❓ Unknown * - Genius - EasyPen M508W - ❓ Unknown * - Genius - EasyPen M610 - ❌ Reported to be broken * - Genius - EasyPen M610X - ❓ Unknown * - Genius - EasyPen M610XA - ❓ Unknown * - Genius - G-Pen 340 - ❓ Unknown * - Genius - G-Pen 450 - ❓ Unknown * - Genius - G-Pen 560 - ❓ Unknown * - Genius - G-Pen F350 - ❓ Unknown * - Genius - G-Pen F509 - ❓ Unknown * - Genius - G-Pen F610 - ❓ Unknown * - Genius - G-Pen M609 - ❓ Unknown * - Genius - G-Pen M609X - ❓ Unknown * - Genius - G-Pen M712 - ❓ Unknown * - Genius - G-Pen M712X - ❓ Unknown * - Genius - MousePen 8x6 - ❓ Unknown * - Genius - MousePen i608 - ❓ Unknown * - Genius - MousePen i608X - ❓ Unknown * - Genius - MousePen i608XE - ❓ Unknown * - Genius - MousePen M508 - ❓ Unknown * - Genius - MousePen M508W - ❓ Unknown * - Genius - MousePen M508X - ❓ Unknown * - Genius - MousePen M508XA - ❓ Unknown * - Genius - PenSketch 9x12 - ❓ Unknown * - Genius - PenSketch M912 - ❌ Reported to be broken * - Genius - PenSketch T609A - ❓ Unknown * - Genius - WizardPen 5x4 - ❓ Unknown * - Hanvon - ESP2210 - ❓ Unknown * - Hanvon - HW-S05 - ❓ Unknown * - Hanvon - Sell T&Mouse - ❓ Unknown * - Hanvon - Sell Writing Tablet (SuperPen 0403) - ❓ Unknown * - Hanvon - Sell Writing Tablet (SuperPen 0503) - ❓ Unknown * - Hanvon - Sell Painting Master (0504) - ❓ Unknown * - Hanvon - Sell Painting Master (0605) - ❓ Unknown * - Hanvon - Sell Painting Master (0806) - ❌ Reported to be broken * - Huion / Turcom - H420 - ✔️ Supposed to work * - Huion / Turcom - W58 - ✔️ Supposed to work * - Huion / Turcom - 680TF - ✔️ Supposed to work * - Huion / Turcom - G10T - ✔️ Supposed to work * - Huion / Turcom - H610 - ✔️ Supported * - Huion / Turcom - H610PRO - ✔️ Supported * - Huion / Turcom - H690 - ✔️ Supposed to work * - Huion / Turcom - WH1409 - ✔️ Supported * - Huion / Turcom - 1060Plus - ✔️ Supposed to work * - Huion / Turcom - New 1060Plus - ✔️ Supposed to work * - Huion / Turcom - K26 - ✔️ Supposed to work * - Huion / Turcom - K58 - ✔️ Supposed to work * - Huion / Turcom - W58 - ✔️ Supposed to work * - Huion / Turcom - 680S - ✔️ Supposed to work * - Huion / Turcom - P608N - ✔️ Supposed to work * - Huion / Turcom - H58L - ✔️ Supposed to work * - Huion / Turcom - DWH96 - ✔️ Supposed to work * - Huion / Turcom - G-T156HD (KAMVAS) - ✔️ Supposed to work * - Huion / Turcom - GT-185 - ✔️ Supposed to work * - Huion / Turcom - GT-190 - ✔️ Supposed to work * - Huion / Turcom - GT-191 (KAMVAS) - ❓ Reported to work with `experimental user space driver `_ * - Huion / Turcom - GT-220 - ✔️ Supposed to work * - Huion / Turcom - PC185HD - ✔️ Supported * - Huion / Turcom - PC2150 - ✔️ Supposed to work * - Huion / Turcom - Inspiroy Q11K - ✔️ Supported * - KB Gear - JamStudio - ❓ Unknown * - KB Gear - Pablo Internet Edition - ❓ Unknown * - KB Gear - Sketchboard Studio - ❓ Unknown * - Microsoft - Surface Pro Surface Pro 2 - ✔️ Supported * - Microsoft - Surface Pro 3 Surface Pro 4 Surface Studio Surface Pro (2017) Surface Laptop - ✔️ Supported * - Monoprice - 8x6" - ❓ Unknown * - Monoprice - MP1060-HA60 (10x6.25") - ❓ Unknown * - Monoprice - 10x6.25" (110594) - ❓ Unknown * - Monoprice - 8x6" MP Select Professional - ❓ Unknown * - Monoprice - "8x6"" MP Select Professional with Quick Select Wheel" - ❓ Unknown * - Monoprice - 12x9" (106815) - ❓ Reported to work with some issues * - Monoprice - MP 22-inch (114481) - ❓ Unknown * - Parblo - A610 - ❌ Reported to be broken * - Parblo - Bay B960 - ❓ Unknown * - Parblo - GT19 - ❓ Unknown * - Parblo - GT22HD - ❓ Unknown * - Parblo - Coast22 - ❓ Unknown * - Parblo - Coast10 - ❓ Unknown * - Parblo - Island A609 - ❓ Reported to work, but tablet is low-quality and not recommended. * - PenPower - TOOYA Master - ❓ Unknown * - PenPower - TOOYA X - ❓ Unknown * - PenPower - Monet - ❓ Unknown * - PenPower - Picasso - ❓ Unknown * - Perixx - Peritab-502EVO - ❓ Unknown * - Perixx - Peritab 502 - ❓ Unknown * - Perixx - Peritab 302 - ❓ Unknown * - Samsung - Galaxy Book - ✔️ Supported * - Trust - Flex Design - ❓ Unknown * - Trust - Slimline Widescreen - ❌ Reported to be broken * - Trust - Slimline Sketch - ❓ Unknown * - Trust - Slimline Mini - ❓ Unknown * - Trust - TB2100 - ❓ Unknown * - Trust - TB3100 - ❓ Unknown * - Turcom / Huion - Interactive Pen Display - ✔️ Supposed to work * - Turcom / Huion - TS-6608 - ✔️ Supposed to work * - Turcom / Huion - TS-6580B Pro - ✔️ Supposed to work * - Turcom / Huion - TS-6580W Pro - ✔️ Supposed to work * - Turcom / Huion - TS-6610H Professional Wide - ✔️ Supposed to work * - Turcom / Huion - TS-690 - ✔️ Supposed to work * - Turcom / Huion - TS-680 - ✔️ Supposed to work * - Turcom / Huion - TS-6540 - ✔️ Supposed to work * - UC-Logic / Digipro - DigiPro WP4030 - ❓ Unknown * - UC-Logic / Digipro - WP806U - ❓ Unknown * - Ugee - HK1060pro - ❓ Unknown * - Ugee - HK1560 - ❓ Unknown * - Ugee - UG-1910B - ❓ Unknown * - Ugee - UG-2150 - ❓ Reported to work with the new drivers released January 2018 * - Ugee - EX05 - ❓ Unknown * - Ugee - EX07 - ❓ Unknown * - Ugee - G3 - ❓ Reported to work on windows 7 * - Ugee - G5 - ❓ Working with Windows with official drivers installed. No drivers are currently available under Linux. * - Ugee - M504 - ❓ Unknown * - Ugee - M708 - ❌ Reported to be broken, connected strokes * - Ugee - M6370 - ❓ Unknown * - Ugee - M1000L - ❌ Reported to be broken * - Ugee - Chocolate - ❓ Unknown * - Ugee - CV720 - ❓ Unknown * - Ugee - Rainbow 3 - ❓ Unknown * - VisTablet - Mini - ❓ Unknown * - VisTablet - Mini Plus - ❓ Unknown * - VisTablet - VT Original - ❓ Unknown * - VisTablet - Realm Pro - ❓ Unknown * - VisTablet - Realm Graphic - ❓ Unknown * - VisTablet - VT 12" Touch - ❓ Unknown * - Wacom - Intuos Draw - ✔️ Supposed to work * - Wacom - Intuos Art - ✔️ Supposed to work * - Wacom - Intuos Photo - ✔️ Supposed to work * - Wacom - Intuos Comic - ✔️ Supposed to work * - Wacom - Intuos 3D - ✔️ Supposed to work * - Wacom - Intuos Pro (S/M/L) - ✔️ Supposed to work * - Wacom - Intuos Pro Paper - ✔️ Supposed to work * - Wacom - Cintiq Pro 13 - ✔️ Supposed to work * - Wacom - Cintiq Pro 16 - ✔️ Supposed to work * - Wacom - Cintiq 13HD - ✔️ Supposed to work * - Wacom - Cintiq 22HD - ✔️ Supposed to work * - Wacom - Cintiq 22HD Touch - ✔️ Supposed to work * - Wacom - Cintiq 27 QHD - ✔️ Supposed to work * - Wacom - Cintiq 27 QHD Touch - ✔️ Supposed to work * - Wacom - Cintiq Companion - ✔️ Supposed to work * - Wacom - Cintiq Companion 2 - ✔️ Supposed to work * - Wacom - Cintiq Companion Hybrid - ✔️ Supported * - Wacom - MobileStudio Pro 13 - ✔️ Supported * - Wacom - MobileStudio Pro 16 - ✔️ Supported * - Wacom - Intuos 5 - ✔️ Supported * - Wacom - Intuos 4 - ✔️ Supported * - Wacom - Intuos 3 - ✔️ Supported * - Wacom - Intuos 2 (XD) - ✔️ Supposed to work * - Wacom - Cintiq 12WX - ✔️ Supposed to work * - Wacom - Cintiq 24HD - ✔️ Supposed to work * - Wacom - Bamboo Create - ✔️ Supposed to work * - Wacom - Bamboo Capture - ✔️ Supposed to work * - Wacom - Bamboo Connect - ✔️ Supposed to work * - Wacom - Bamboo Splash - ✔️ Supposed to work * - Wacom - Bamboo CTL - ✔️ Supposed to work * - Wacom - Bamboo CTH - ✔️ Supposed to work * - Wacom - Bamboo CTE - ✔️ Supposed to work * - Wacom - Bamboo One - ✔️ Supposed to work * - Wacom - Cintiq20 (DTZ) - ✔️ Supposed to work * - Wacom - Cintiq21 - ✔️ Reported to work * - Wacom - Intuos (GD) - ✔️ Supposed to work * - Wacom - Graphire2 - ✔️ Supposed to work * - Wacom - Graphire (ET) - ✔️ Supposed to work * - Waltop - Venus M - ❓ Unknown * - Waltop - Media - ❓ Unknown * - Waltop - Q-Pad - ❓ Unknown * - XP Pen - Artist 16 - ✔️ Supposed to work * - XP Pen - Artist 22 - ✔️ Supposed to work * - XP Pen - Artist 22E - ✔️ Supposed to work * - XP Pen - Artist Display 10S - ✔️ Supposed to work * - XP Pen - Star 05 Wireless - ✔️ Works with the Star 04 driver * - XP Pen - Star G540 Game Play - ❓ Unknown * - XP Pen - Star G430 Game Play - ✔️ Supposed to work * - XP Pen - Star 04 Flash Memory - ❓ Unknown * - XP Pen - Star 03 Express Keys - ✔️ Works * - XP Pen - Star 02 Touch Hot Keys - ❓ Unknown * - XP Pen - Star 01 Pen Tablet - ❓ Unknown * - Yiynova - SP 1001 (UC-Logic) - ❓ Unknown * - Yiynova - MVP10U - ✔️ Supported * - Yiynova - MVP10U HD - ✔️ Supposed to work * - Yiynova - MVP10U HD+IPS - ✔️ Supposed to work * - Yiynova - DP10U+ - ✔️ Supposed to work * - Yiynova - DP10U - ✔️ Supposed to work * - Yiynova - DP10 - ✔️ Supposed to work * - Yiynova - DP10S - ✔️ Supposed to work * - Yiynova - DP10HD - ✔️ Supposed to work * - Yiynova - MSP15 - ✔️ Supposed to work * - Yiynova - MSP19 - ✔️ Supposed to work * - Yiynova - MSP19U - ✔️ Supposed to work * - Yiynova - MSP19U+ - ✔️ Supposed to work * - Yiynova - MSP19U+ (V5) - ✔️ Supposed to work * - Yiynova - MVP22U+IPS (V3) - ✔️ Supposed to work * - Yiynova - MVP20U+RH - ✔️ Supposed to work * - Yiynova - MVP22U+DT - ✔️ Supposed to work * - Yiynova - MVP22U+RH - ✔️ Supposed to work * - Yiynova - MJP19 - ✔️ Supposed to work * - Yiynova - MKP19 - ✔️ Supposed to work * - Yiynova - YA20HD - ✔️ Supposed to work .. seealso:: Pages you might want to check : - `Huion's krita support topic on deviant art. `_ + `Huion's krita support topic on deviant art `_. - `List of tablets models and branding. `_ + `List of tablets models and branding `_. diff --git a/reference_manual/main_menu/image_menu.rst b/reference_manual/main_menu/image_menu.rst index 0195b62cb..65b1c27e8 100644 --- a/reference_manual/main_menu/image_menu.rst +++ b/reference_manual/main_menu/image_menu.rst @@ -1,49 +1,49 @@ .. meta:: :description: The image menu in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Image, Canvas Projection Color, Trim, Resize, Scale, Mirror, Transform, Convert Color Space, Offset, Split Channels .. _image_menu: ========== Image Menu ========== Properties Gives you the image properties. Image Background Color and Transparency Change the background canvas color. Convert Current Image Color Space. Converts the current image to a new colorspace. Trim to image size Trims all layers to the image size. Useful for reducing filesize at the loss of information. Trim to Current Layer A lazy cropping function. Krita will use the size of the current layer to determine where to crop. Trim to Selection A lazy cropping function. Krita will crop the canvas to the selected area. Rotate Image - Rotate the image + Rotate the image. Shear Image - Shear the image + Shear the image. Mirror Image Horizontally Mirror the image on the horizontal axis. Mirror Image Vertically Mirror the image on the vertical axis. Scale to New Size The resize function in any other program with the :kbd:`Ctrl + Alt + I` shortcut. Offset Image Offset all layers. Resize Canvas Change the canvas size. Don't confuse this with Scale to new size. Image Split Calls up the :ref:`image_split` dialog. Wavelet Decompose Does :ref:`wavelet_decompose` on the current layer. Separate Image :ref:`Separates ` the image into channels. diff --git a/reference_manual/main_menu/settings_menu.rst b/reference_manual/main_menu/settings_menu.rst index e87d58706..ee472ec40 100644 --- a/reference_manual/main_menu/settings_menu.rst +++ b/reference_manual/main_menu/settings_menu.rst @@ -1,127 +1,127 @@ .. meta:: :description: The settings menu in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Micheal Abrahams - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. _settings_menu: -============ -Setting Menu -============ +============= +Settings Menu +============= The Settings Menu houses the configurable options in Krita and where you determine most of the "look and feel" of the application. .. index:: Dockers Show Dockers ------------ Show Dockers Determines whether or not the dockers are visible. This is a nice aid to cleaning up the interface and removing unnecessary "eye-ball clutter" when you are painting. If you've got your brush and you know you're just going to be painting for awhile why not flip the dockers off? You'd be amazed what a difference it makes while you're working. However, if you know you're swapping out tools or working with layer or any of the other myriad things Krita lets you do then there's no point getting caught up in flipping the docks on and off. Use you time wisely! .. tip:: This is a great candidate to add to the toolbar so you can just click the dockers on and off and don't even have to open the menu to do it. See :ref:`configure_toolbars` below for more. Dockers ------- Krita subdivides the access of many of its features into functional panels called Dockers. 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. Learning to use dockers effectively is a key concept to optimizing your time using Krita. .. index:: Themes, Theme, Look and Feel Themes ------ Krita provides a number of color-themed interfaces or "looks". The current set of themes are the following: * Dark (Default) * Blender * Bright * Neutral There is no easy way to create and share themes. The color themes are defined in the :menuselection:`Share --> Color Schemes` folder where Krita is downloaded. Configure Shortcuts ------------------- Configuring shortcuts is another way to customize the application to fit you. Whether you are transitioning from another app, like Photoshop or MyPaint, or you think your own shortcut keys make more sense for you then Krita has got you covered. You get to the shortcuts interface through :menuselection:`Settings --> Configure Krita` and by choosing the :menuselection:`Keyboard Shortcuts` tab. To use, just type the :guilabel:`Action` into the Search box you want to assign/reassign the shortcut for. Suppose we wanted to assign the shortcut :kbd:`Ctrl + G` to the :guilabel:`Action` of Group Layers so that every time we pressed the :kbd:`Ctrl + G` shortcut a new Layer Group would be created. Use the following steps to do this: #. Type "Group Layer". #. Click on Group Layer and a small inset box will open. #. Click the Custom radio button. #. Click on the first button and type the :kbd:`Ctrl + G` shortcut. #. Click OK. From this point on, whenever you press the :kbd:`Ctrl + G` shortcut you'll get a new :guilabel:`Group Layer`. .. tip:: Smart use of shortcuts can save you significant time and further streamline your workflow. Manage Resources ---------------- Manage the resources. You can read more about it :ref:`here `. .. index:: Language .. _switch_application_language: Switch Application Language --------------------------- If you wish to use Krita in a different translation. .. index:: ! Toolbar .. _configure_toolbars: Configure Toolbars ------------------ Krita allows you to highly customize the Toolbar interface. You can add, remove and change the order of nearly everything to fit your style of work. To get started, choose :menuselection:`Settings --> Configure Toolbars`. .. image:: /images/preferences/Configure_Toolbars_Krita.png :align: center The dialog is broken down into three main sections: The Toolbar Choose to either modify the "File" or "Brushes and Stuff" toolbars. Available Actions: All the options that can be added to a toolbar. Current Actions: All the actions currently assigned and the order they are in. Use the arrows between the *Available* and *Current* actions sections to move items back and forth and up and down in the hierarchy. This type of inclusion/exclusion interface has been around on PCs for decades so we don't need to go into great detail regarding its use. What is important though is selecting the correct Toolbar to work on. The :guilabel:`File` Toolbar allows you to add items between the :menuselection:`New` , :menuselection:`Open` and :menuselection:`Save` buttons as well as to the right of the :menuselection:`Save` button. The :guilabel:`Brushes and Stuff` Toolbar, lets you modify anything from the Gradients button over to the right. This is probably where you'll do most of your editing. Here we've added :menuselection:`Select Opaque` , :menuselection:`Local Selection` , :menuselection:`Transparency Mask` , :guilabel:`Isolate Layer` , :menuselection:`Show Assistant Previews` . This is just an example of a couple of options that are used frequently and might trim your workflow. This is what it looks like in the configuration tool: .. image:: /images/preferences/Configure_Toolbars_Brushes_and_Stuff_Custom.png :align: center You'll notice that some of the items are text only and some only icons. This is determined by whether the particular item has an associated icon in Krita. You can select anything from the *Available* section and move it to the *Current* one and rearrange to fit your own workflow. If you add so many that they won't all fit on your screen at once, you will see a small chevron icon appear. Click it and the toolbar expands to show the remaining items. Toolbars shown Gives a list of toolbars that can be shown. At this time Krita does not support the ability to create additional toolbars. The ones available are: .. image:: /images/preferences/Toolbars_Shown.png :align: center Although not really advisable, you can turn them off (but why would you..really?) .. versionadded:: 4.2 Finally, Toolbars also can be moved. You can do this by |mouseright| and dragging the handler at the left side of the toolbar. diff --git a/reference_manual/popup-palette.rst b/reference_manual/popup-palette.rst index be02fad79..a5232217e 100644 --- a/reference_manual/popup-palette.rst +++ b/reference_manual/popup-palette.rst @@ -1,32 +1,32 @@ .. meta:: :description: - The Pop-up Palette in Krita + The Pop-up Palette in Krita. .. metadata-placeholder :authors: - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Pop-up Palette .. _pop-up_palette: Pop-up Palette ============== The Pop-up Palette is a feature unique to Krita amongst the digital painting applications. It is designed to increase productivity and save time of the artists by providing quick access to some of the most frequently used tools and features in Krita. The Pop-up palette can be accessed by |mouseright| on the canvas. A circular palette similar to what is shown in the image below will spawn at the position your mouse cursor. .. image:: /images/popup-palette-detail.svg -As shown in the image above, the pop-up palette has the following tools and quick access shortcuts integrated into it +As shown in the image above, the pop-up palette has the following tools and quick access shortcuts integrated into it. - Foreground color and Background color indicators on the top left of the palette. - A canvas rotation circular slider, which can help the artist quickly rotate the canvas while painting. - A group of brush presets, based on the tag selected by the artist. By default the **My Favorite** tag is selected. By default only first 10 presets from the tag are shown, however you can change the number of brush presets shown by changing the value in the :ref:`Miscellaneous Settings Section ` of the dialog box. - Color Selector with which you can select the hue from the circular ring and lightness and saturation from the triangular area in the middle. - Color history area shows the most recent color swatches that you have used while painting. - The tag list for brush preset will show you the list of both custom and default tags to choose from, selecting a tag from this list will show the corresponding brush presets in the palette. - The common brush options such as size, opacity, angle et cetera will be shown when you click the **>** icon. A dialog box will appear which will have the sliders to adjust the brush options. You can choose which options are shown in this dialog box by clicking on the settings icon. - The zoom slider allows you to quickly zoom the canvas. - The 100% button sets the zoom to the 100% of the image size. - The button with the canvas icon switches to the canvas only mode, where the toolbar and dockers are hidden. - The button with the mirror icon mirrors the canvas to help you spot the errors in the painting. diff --git a/reference_manual/preferences/g_mic_settings.rst b/reference_manual/preferences/g_mic_settings.rst index ccf57a378..99f021ca1 100644 --- a/reference_manual/preferences/g_mic_settings.rst +++ b/reference_manual/preferences/g_mic_settings.rst @@ -1,40 +1,40 @@ .. meta:: :description: How to setup G'Mic in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Preferences, Settings, Filters, G'Mic .. _g_mic_settings: ============== G'Mic Settings ============== G'Mic or GREYC's Magic for Image Computing is an opensource filter framework. The G'Mic plugin for Krita exists only on Windows and Linux. Krita has had G'Mic integration for a long time, but this is its most stable incarnation. On Windows, the plugin is included in the installer and Krita will find it automatically. On Linux, we are making an appimage available for download. You set it up as following: -#. Download the gmic-krita appimage -#. Make it executable +#. Download the gmic-krita appimage. +#. Make it executable. #. Go to :menuselection:`Settings --> Configure Krita --> G'Mic plugin` and set G'MIC to the filepath there. #. Then restart Krita. Updates to G'Mic ---------------- There is a refresh button at the bottom of the G'Mic window that will update your version. You will need an internet connection to download the latest version. If you have issues downloading the update through the plugin, you can also do it manually. If you are trying to update and get an error, copy the URL that is displayed in the error dialog. It will be to a ".gmic" file. Download it from from your web browser and place the file in one of the following directories. - Windows : %APPDATA%/gmic/update2XX.gmic - Linux : $HOME/.config/gmic/update2XX.gmic Load up the G'Mic plugin and press the refresh button for the version to update. diff --git a/reference_manual/preferences/general_settings.rst b/reference_manual/preferences/general_settings.rst index 0273bcaae..17a319c94 100644 --- a/reference_manual/preferences/general_settings.rst +++ b/reference_manual/preferences/general_settings.rst @@ -1,263 +1,263 @@ .. meta:: :description: General Preferences in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Greig :license: GNU free documentation license 1.3 or later. .. index:: Preferences, Settings, Cursor, Autosave, Tabbed Documents, Subwindow Documents, Pop up palette, File Dialog, Maximum Brush Size, Kinetic Scrolling, Sessions .. _general_settings: ================ General Settings ================ You can access the General Category of the preferences by first going to :menuselection:`Settings --> Configure Krita`. .. image:: /images/preferences/Krita_Preferences_General.png Cursor Settings --------------- Customize the drawing cursor here: Cursor Shape ~~~~~~~~~~~~ Select a cursor shape to use while the brush tools are used. This cursor will always be visible on the canvas. It is usually set to a type exactly where your pen nib is at. The available cursor types are shown below. Tool Icon Shows the currently selected tool icon, even for the freehand brush. .. image:: /images/preferences/Settings_cursor_tool_icon.png Arrow Shows a generic cursor. .. image:: /images/preferences/Settings_cursor_arrow.png Crosshair Shows a precision reticule. .. image:: /images/preferences/Settings_cursor_crosshair.png Small circle Shows a small white dot with a black outline. .. image:: /images/preferences/Settings_cursor_small_circle.png No Cursor Show no cursor, useful for tablet-monitors. .. image:: /images/preferences/Settings_cursor_no_cursor.png Triangle Right-Handed. Gives a small white triangle with a black border. .. image:: /images/preferences/Settings_cursor_triangle_righthanded.png Triangle Left-Handed. Same as above but mirrored. .. image:: /images/preferences/Settings_cursor_triangle_lefthanded.png Black Pixel Gives a single black pixel. .. image:: /images/preferences/Settings_cursor_black_pixel.png White Pixel Gives a single white pixel. .. image:: /images/preferences/Settings_cursor_white_pixel.png Outline Shape ~~~~~~~~~~~~~ Select an outline shape to use while the brush tools are used. This cursor shape will optionally show in the middle of a painting stroke as well. The available outline shape types are shown below. (pictures will come soon) No Outline No outline. Circle Outline Gives a circular outline approximating the brush size. Preview Outline Gives an outline based on the actual shape of the brush. Tilt Outline Gives a circular outline with a tilt-indicator. While Painting... ~~~~~~~~~~~~~~~~~ Show Outline This option when selected will show the brush outline while a stroke is being made. If unchecked the brush outline will not appear during stroke making, it will show up only after the brush stroke is finished. This option works only when Brush Outline is selected as the Cursor Shape. .. versionchanged:: 4.1 Used to be called "Show Outline When Painting". Use effective outline size .. versionadded:: 4.1 This makes sure that the outline size will always be the maximum possible brush diameter, and not the current one as affected by sensors such as pressure. This makes the cursor a little less noisy to use. Cursor Color: The default cursor color. This is mixed with the canvas image so that it will usually have a contrasting color, but sometimes this mixing does not work. This is usually due driver problems. When that happens, you can configure a more pleasant color here. .. _window_settings: Window Settings --------------- Multiple Document Mode This can be either tabbed like :program:`GIMP` or :program:`Painttool Sai`, or subwindows, like :program:`Photoshop`. Background image Allows you to set a picture background for subwindow mode. Window Background Set the color of the subwindow canvas area. Don't show contents when moving sub-windows This gives an outline when moving windows to work around ugly glitches with certain graphics-cards. Show on-canvas popup messages Whether or not you want to see the on-canvas pop-up messages that tell you whether you are in tabbed mode, rotating the canvas, or mirroring it. Enable Hi-DPI support Attempt to use the Hi-DPI support. It is an option because we are still experiencing bugs on windows. Allow only one instance of Krita An instance is a single entry in your system's task manager. Turning this option makes sure that Krita will check if there's an instance of Krita open already when you instruct it to open new documents, and then have your documents opened in that single instance. There's some obscure uses to allowing multiple instances, but if you can't think of any, just keep this option on. .. _tool_options_settings: Tools Settings -------------- In docker (default) Gives you the tool options in a docker. In toolbar Gives you the tool options in the toolbar, next to the brush settings. You can open it with the :kbd:`\\` key. Brush Flow Mode In Krita 4.2 the behavior of flow in combination with opacity was changed. This allows you to turn it back to the 4.1 behavior. This will however be removed in future versions. Switch Control/Alt Selection Modifiers This switches the function of the :kbd:`Ctrl` and :kbd:`Alt` keys when modifying selections. Useful for those used to Gimp instead of Photoshop, or Lefties without a right :kbd:`Alt` key on their keyboard. Enable Touchpainting This allows finger painting with capacitive screens. Some devices have both capacitive touch and a stylus, and then this can interfere. In that case, just toggle this. Activate transform tool after pasting .. versionadded:: 4.2 A convenience feature. When enabling this, the transform tool will activate after pasting for quick moving or rotating. Kinetic Scrolling (Needs Restart) This enables kinetic scrolling for scrollable areas. .. figure:: /images/preferences/Krita_4_0_kinetic_scrolling.gif :align: center Kinetic scrolling on the brush chooser drop-down with activation mode set to :guilabel:`On Click Drag`, with this disabled all of these clicks would lead to a brush being selected regardless of drag motion. Activation How it is activated. On Middle-Click Drag Will activate when using the middle mouse button. On Touch Drag Will activate if it can recognize a touch event. May not always work. On Click Drag Will activate when it can recognize a click event, will always work. Sensitivity How quickly the feature activates, this effective determines the length of the drag. Hide Scrollbar Whether to show scrollbars when doing this. .. _file_handling_settings: File Handling ------------- .. versionadded:: 4.2 Enable Autosaving Determines whether or not Krita should periodically autosave. Autosave Every Here the user can specify how often Krita should autosave the file, you can tick the checkbox to turn it off. For Windows these files are saved in the %TEMP% directory. If you are on Linux it is stored in /home/'username'. Unnamed autosave files are hidden by default This determines whether the filename of autosaves has a period prepended to the name. On Linux and Mac OS this is a technique to ensure the file is hidden by default. Create Backup File When selected Krita will, upon save, rename the original file as a backup file and save the current image to the original name. The result is that you will have saved the image, and there will be a copy of the image that is saved separately as a backup. This is useful in case of crashes during saves. Backup File Location The default location these backups should be stored. Same Folder as Original File Store the file in the same folder as the original file was stored. User Folder This is the main folder of your computer. On Linux and Mac OS this is the 'Home' folder, on Windows, the 'c:\Users\YOUR_USER_NAME' folder (where YOUR_USER_NAME is your windows username). Temporary File Folder This stored the file in the temp folder. Temp folders are special folders of which the contents are emptied when you shut down your computer. If you don't particularly care about your backup files and want them to be 'cleaned' automatically, this is the best place. If you want your backup files to be kept indefinitely, this is a wrong choice. Backup File Suffix The suffix that will be placed after the full filename. 'filename.kra' will then be saved as 'filename.kra~', ensuring the files won't show up in Krita's open file dialog. Number of Backup Files Kept Number of backup files Krita keeps, by default this is only one, but this can be up to 99. Krita will then number the backup files. Compress \*.kra files more. This increases the zip compression on the saved Krita files, which makes them lighter on disk, but this takes longer to load. Use Zip64 - Kra files are zip files. Zip64 allows you to use + Kra files are zip files. Zip64 allows you to use. .. _misc_settings: Miscellaneous ------------- When Krita starts This is the option for handling user sessions. It has the following options: Open Default Window This opens the regular empty window with the last used workspace. Load Previous Session Load the last opened session. If you have :guilabel:`Save session when Krita closes` toggled, this becomes the last files you had open and the like. Show Session Manager Show the session manager directly so you can pick a session. .. versionadded:: 4.1 Save session when Krita closes Save the current open windows, documents and the like into the current session when closing Krita so you can resume where you left off. .. versionadded:: 4.1 Upon importing Images as Layers, convert to the image color space. This makes sure that layers are the same color space as the image, necessary for saving to PSD. Undo Stack Size This is the number of undo commands Krita remembers. You can set the value to 0 for unlimited undos. Favorite Presets This determines the amount of presets that can be used in the pop-up palette. Hide splash screen on startup. This'll hide the splash screen automatically once Krita is fully loaded. .. deprecated:: 4.1 Deprecated because Krita now has a welcome widget when no canvas is open. Enable Native File Dialog This allows you to use the system file dialog. By default turned off because we cannot seem to get native file dialogues 100% bugfree. Maximum brush size This allows you to set the maximum brush size to a size of up to 10.000 pixels. Do be careful with using this, as a 10.000 pixel size can very quickly be a full gigabyte of data being manipulated, per dab. In other words, this might be slow. Recalculate animation cache in background. Krita will recalculate the cache when you're not doing anything. .. versionchanged:: 4.1 This is now in the :ref:`performance_settings` under :guilabel:`Animation Cache`. diff --git a/reference_manual/preferences/performance_settings.rst b/reference_manual/preferences/performance_settings.rst index 8c35ce998..0a880c5fe 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 colors you picked, but primarily, each pixel in your image. Due to this, how :program:`Krita` organizes where it stores all the data can really speed up :program:`Krita` while painting, just like having an organized 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 your 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 organize 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 its place (a memory pool), so that it can find them easily, and it doesn't get lost among the other data (memory fragmentation). It will then also not have to spend 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. 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 anymore (and will freeze). Swap File Location This determines where the Swap File will be stored on your 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 number 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 number 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. Debug logging 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 optimizations (for AMD CPUs) Vector optimizations are a special way of asking the CPU to do maths, these have names such as SIMD and AVX. These optimizations can make Krita a lot faster when painting, except when you have an 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 autosave 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 a 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 :guilabel:`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 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. diff --git a/reference_manual/preferences/shortcut_settings.rst b/reference_manual/preferences/shortcut_settings.rst index fcc594cc6..ab9736803 100644 --- a/reference_manual/preferences/shortcut_settings.rst +++ b/reference_manual/preferences/shortcut_settings.rst @@ -1,42 +1,42 @@ .. meta:: :description: Configuring shortcuts in Krita. .. metadata-placeholder :authors: - Micheal Abrahams - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Preferences, Settings, Shortcuts .. _shortcut_settings: ================= Shortcut Settings ================= Most of Krita's shortcuts are configured in the menu section :menuselection:`Settings --> Configure Krita --> Configure Shortcuts`. The shortcuts configured here are simple key combinations, for example the :kbd:`Ctrl + X` shortcut to cut. Shortcuts can also be sequences of key combinations (e.g. :kbd:`Shift + S` shortcut then the :kbd:`B` key). Krita also has a special interface for configuring the mouse and stylus events sent to the canvas, found under :ref:`canvas_input_settings`. Menu Items ---------- Search bar Entering text here will search for matching shortcuts in the shortcut list. Shortcut List - Shortcuts are organized into sections. Each shortcut can be given a primary and alternate key combination + Shortcuts are organized into sections. Each shortcut can be given a primary and alternate key combination. Load/Save Shortcuts Profiles The bottom row of buttons contains commands for exporting and import keyboard shortcuts. .. image:: /images/preferences/Krita_Configure_Shortcuts.png Configuration ------------- Primary and alternate shortcuts Each shortcut is assigned a default, which may be empty. The user can assign up to two custom shortcuts, known as primary and alternate shortcuts. Simply click on a "Custom" button and type the key combination you wish to assign to the shortcut. If the key combination is already in use for another shortcut, the dialog will prompt the user to resolve the conflict. Shortcut schemes Many users migrate to Krita from other tools with different default shortcuts. Krita users may change the default shortcuts to mimic these other programs. Currently, Krita ships with defaults for Photoshop and Paint Tool Sai. Additional shortcut schemes can be placed in the ~/.config/krita/input/ folder. Saving, loading and sharing custom shortcuts Users may wish to export their shortcuts to use across machines, or even share with other users. This can be done with the save/load drop-down. Note: the shortcuts can be saved and overridden manually by backingup the text file kritashortcutsrc located in ~/.config/krita/. Additionally, the user can export a custom shortcut scheme file generated by merging the existing scheme defaults with the current customizations. diff --git a/reference_manual/preferences/tablet_settings.rst b/reference_manual/preferences/tablet_settings.rst index db46d834a..33d4aa3b8 100644 --- a/reference_manual/preferences/tablet_settings.rst +++ b/reference_manual/preferences/tablet_settings.rst @@ -1,91 +1,91 @@ .. meta:: :description: Configuring the tablet in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Alvin Wong :license: GNU free documentation license 1.3 or later. .. index:: Preferences, Settings, Tablet, Pressure Curve .. _tablet_settings: =============== Tablet Settings =============== .. image:: /images/preferences/Krita_Preferences_Tablet_Settings.png Tablet Input Pressure Global Curve : This is the global curve setting that your tablet will use in Krita. The settings here will make your tablet feel soft or hard globally. Use Mouse Events for Right and Middle clicks. Some tablet devices don't tell us whether the side buttons on a stylus. If you have such a device, you can try activate this workaround. Krita will try to read right and middle-button clicks as if they were coming from a mouse instead of a tablet. It may or may not work on your device (depends on the tablet driver implementation). After changing this option Krita should be restarted. .. versionadded:: 4.2 For Krita 3.3 or later:Tablet Input API On Windows 8 or above only. WinTab Use the WinTab API to receive tablet pen input. This is the API being used before Krita 3.3. This option is recommended for most Wacom tablets. Windows 8+ Pointer Input Use the Pointer Input messages to receive tablet pen input. This option depends on Windows Ink support from the tablet driver. This is a relatively new addition so it's still considered to be experimental, but it should work well enough for painting. You should try this if you are using an N-Trig device (e.g. recent Microsoft Surface devices) or if your tablet does not work well with WinTab. Advanced Tablet Settings for WinTab ----------------------------------- .. image:: /images/preferences/advanced-settings-tablet.png When using multiple monitors or using a tablet that is also a screen, Krita will get conflicting information about how big your screen is, and sometimes if it has to choose itself, there will be a tablet offset. This window allows you to select the appropriate screen resolution. Use Information Provided by Tablet Use the information as given by the tablet. Map to entire virtual screen Use the information as given by Windows. Map to Custom Area Type in the numbers manually. Use this when you have tried the other options. You might even need to do trial and error if that is the case, but at the least you can configure it. If you have a dual monitor setup and only the top half of the screen is reachable, you might have to enter the total width of both screens plus the double height of your monitor in this field. .. versionadded:: 4.2 To access this dialog in Krita versions older than 4.2, you had to do the following: #. Put your stylus away from the tablet. #. Start Krita without using a stylus, that is using a mouse or a keyboard. #. Press the :kbd:`Shift` key and hold it. #. Touch a tablet with your stylus so Krita would recognize it. If adjusting this doesn't work, and if you have a Wacom tablet, an offset in the canvas can be caused by a faulty Wacom preference file which is not removed or replaced by reinstalling the drivers. To fix it, use the “Wacom Tablet Preference File Utility” to clear all the preferences. This should allow Krita to detect the correct settings automatically. .. warning:: Clearing all wacom preferences will reset your tablet's configuration, thus you will need to recalibrate/reconfigure it. Tablet Tester ------------- .. versionadded:: 4.1 This is a special feature for debugging tablet input. When you click on it, it will open a window with two sections. The left section is the **Drawing Area** and the right is the **Text Output**. If you draw over the Drawing Area, you will see a line appear. If your tablet is working it should be both a red and blue line. The red line represents mouse events. Mouse events are the most basic events that Krita can pick up. However, mouse events have crude coordinates and have no pressure sensitivity. The blue line represents the tablet events. The tablet events only show up when Krita can access your tablet. These have more precise coordinates and access to sensors like pressure sensitivity. .. important:: If you have no blue line when drawing on the lefthand drawing area, Krita cannot access your tablet. Check out the :ref:`page on drawing tablets ` for suggestions on what is causing this. When you draw a line, the output on the right will show all sorts of text output. This text output can be attached to a help request or a bug report to figure out what is going on. External Links -------------- -`David Revoy wrote an indepth guide on using this feature to maximum advantage. `_ +`David Revoy wrote an indepth guide on using this feature to maximum advantage `_. diff --git a/reference_manual/resource_management.rst b/reference_manual/resource_management.rst index 134bf0ecd..bdffc7b7a 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 +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/resources/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/brushes/Brushpreset-filters.png You can enter brush name, tag name to quickly pull up a list of brush presets you want. When you select any tag from the tag drop-down 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 :guilabel:`Resource Filter` at the bottom of the :guilabel:`Brush Presets` dock or :guilabel:`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 :guilabel:`Save` button (small disk icon to the right of the :guilabel:`Resource Filter` box) or press the :kbd:`Enter` key 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 :guilabel:`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 :guilabel:`Zoom in`. All resource selectors can be zoomed in and out of, by hovering over the selector and using the :kbd:`Ctrl +` |mousescroll| shortcut. 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/resources/Manageresources.png :align: center Importing Bundles ~~~~~~~~~~~~~~~~~ To import a bundle click on :guilabel:`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 :guilabel:`Open`. Once the bundle is imported it will be listed in the :guilabel:`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 :guilabel:`Inactive` section. Creating your own Bundle ~~~~~~~~~~~~~~~~~~~~~~~~ You can create your own bundle from the resources of your choice. Click on the :guilabel:`Create bundle` button. This will open a dialog box as shown below. .. image:: /images/resources/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 presets 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 :guilabel:`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 the next time when you start Krita the presets from this list are not loaded. To delete the brushes from this list click on :guilabel:`Delete Backup Files`. Deleting Imported Bundles ------------------------- In case you wish to delete the bundles you have imported permanently click on the :guilabel:`Open Resource Folder` button in the :guilabel:`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/paintoppresets.rst b/reference_manual/resource_management/paintoppresets.rst index 4c201b258..9b618c295 100644 --- a/reference_manual/resource_management/paintoppresets.rst +++ b/reference_manual/resource_management/paintoppresets.rst @@ -1,30 +1,30 @@ .. meta:: :description: The Brush Presets resource in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Resources, Brush Presets, Brushes, Paintop Presets .. _resource_brushes: ============ Brush Preset ============ -Paint Op presets store the preview thumbnail, brush-engine, the parameters, the brush tip, and, if possible, the texture. They are saved as .kpp files +Paint Op presets store the preview thumbnail, brush-engine, the parameters, the brush tip, and, if possible, the texture. They are saved as .kpp files. For information regarding the brush system, see :ref:`Brushes `. The Docker ---------- The docker for Paint-op presets is the :ref:`brush_preset_docker`. Here you can tag, add, remove and search paint op presets. Editing the preview thumbnail ----------------------------- You can edit the preview thumbnail in the brush-scratchpad, but you can also open the \*.kpp file in Krita to get a 200x200 file to edit to your wishes. diff --git a/reference_manual/resource_management/resource_brushtips.rst b/reference_manual/resource_management/resource_brushtips.rst index 5888edabf..423bb9a57 100644 --- a/reference_manual/resource_management/resource_brushtips.rst +++ b/reference_manual/resource_management/resource_brushtips.rst @@ -1,56 +1,56 @@ .. meta:: :description: Managing brush tips in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Resources, Brushes, Brush Tip, Brush Mask .. _resource_brush_tips: ======= Brushes ======= These are the brush tip or textures used in the brush presets. They can be png files or .abr file from Photoshop or .gbr files from gimp. .. note:: Currently Krita only import a brush texture from abr file, you have to recreate the brushes by adding appropriate values in size, spacing etc. They can be modified/tagged in the brush preset editor. See :ref:`option_brush_tip` for more info. Example: Loading a Photoshop Brush (\*.ABR) ------------------------------------------- For some time Photoshop has been using the ABR format to compile brushes into a single file. Krita can read and load .ABR files, although there are certain features. For this example we will use an example of an .ABR file that contains numerous images of types of trees and ferns. We have two objectives. The first is to create a series of brushes that we an quickly access from the Brush Presets dock to easily put together a believable forest. The second is to create a single brush that we can change on the fly to use for a variety of flora, without the need to have a dedicated Brush Preset for each type. #. First up is download the file (.ZIP, .RAR,...) that contains the .ABR file and any licensing or other notes. Be sure to read the license if there is one! #. Extract the .ABR file into Krita's home directory for brushes. #. In your Brush Presets dock, select one of your brushes that uses the Pixel Brush Engine. An Ink Pen or solid fill type should do fine. #. Open the Brush Settings Editor (:kbd:`F5` key). #. Click on the tab "Predefined" next to "Auto". This will change the editor to show a scrollable screen of thumbnail images, most will be black on a white background. At the bottom of the window are two icons: .. image:: /images/brushes/600px-BSE_Predefined_Window.png #. Click on the blue file folder on the left and then navigate to where you saved your .ABR file and open it. #. If everything went fine you will see a number of new thumbnails show up at the bottom of the window. In our case, they would all be thumbnails representing different types of trees. Your job now is to decide which of these you want to have as Brush Preset (Just like your Pencil) or you think you'll only use sporadically. #. Let's say that there is an image of an evergreen tree that we're pretty sure is going to be a regular feature in some of our paintings and we want to have a dedicated brush for it. To do this we would do the following: -#. Click on the image of the tree we want +#. Click on the image of the tree we want. #. Change the name of the brush at the very top of the Brush Editor Settings dialog. Something like "Trees - Tall Evergreen" would be appropriate. -#. Click the "Save to Presets" button +#. Click the "Save to Presets" button. #. Now that you have a "Tall Evergreen" brush safely saved you can experiment with the settings to see if there is anything you would like to change, for instance, by altering the size setting and the pressure parameter you could set the brush to change the tree size depending on the pressure you were using with your stylus (assuming you have a stylus!). -#. Once you're satisfied with your brush and its settings you need to do one last thing (but click :guilabel:`Overwrite Brush` first!) +#. Once you're satisfied with your brush and its settings you need to do one last thing (but click :guilabel:`Overwrite Brush` first!). It's time now to create the Brush Preview graphic. The simplest and easiest way to do this for a brush of this type is to clear out the ScratchPad using the :guilabel:`Reset` button. Now, center your cursor in the Brush Preview square at the top of the ScratchPad and click once. You should see an image of your texture (in this case it would be the evergreen tree). In order to work correctly though the entire image should fit comfortably within the square. This might mean that you have to tweak the size of the brush. Once you have something you are happy with then click the :guilabel:`Overwrite Brush` button and your brush and its preview image will be saved. An alternative method that requires a little more work but gives you greater control of the outcome is the following: Locate the Brush Preview thumbnail .KPP file in Krita and open it to get a 200x200 file that you can edit to your wishes. You're ready to add the next texture! From here on it's just a matter of wash, rinse and repeat for each texture where you want to create a dedicated Brush Preset. diff --git a/reference_manual/separate_image.rst b/reference_manual/separate_image.rst index 062bf3193..437ad3f78 100644 --- a/reference_manual/separate_image.rst +++ b/reference_manual/separate_image.rst @@ -1,40 +1,40 @@ .. meta:: :description: - The channel separation dialog in Krita + The channel separation dialog in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Channel Separation, Separate Image .. _separate_image: Separate Image -------------- The separate image dialog allows you to separate the channels of the image into layers. This is useful in game texturing workflows, as well as more advanced CMYK workflows. When confirming, :guilabel:`Separate Image` creates a series of layers for each channel. So for RGB, it will create Red, Green and Blue layers, each representing the pixels of that channel, and for CMYK, Cyan, Magenta, Yellow and Key layers. Source Which part of the image should be separated. Current Layer The active layer. Flatten all layers before separation The total image. Alpha Options What to do with the alpha channel. All Krita images have an alpha channel, which is the transparency. How should it be handled when separating? Copy Alpha Channel to Each separate channel as an alpha channel. This adds the transparency of the original source to all the separation layers. Discard Alpha Channel Just get rid of the alpha altogether. Create separate separation from alpha channel Create a separate layer with the alpha channel as a grayscale layer. Downscale to 8bit before separating. Convert the image to 8bit before doing the separation. Output to color, not grayscale. This results in the Red separation using black to red instead of black to white. This can make it easier to recombine using certain methods. diff --git a/reference_manual/split_layer.rst b/reference_manual/split_layer.rst index c3f986f45..df632e6fc 100644 --- a/reference_manual/split_layer.rst +++ b/reference_manual/split_layer.rst @@ -1,33 +1,33 @@ .. meta:: :description: - The Split Layer functionality in Krita + The Split Layer functionality in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Splitting, Color Islands .. _split_layer: Split Layer ----------- Splits a layer according to color. This is useful in combination with the :ref:`colorize_mask` and the :kbd:`R +` |mouseleft| shortcut to select layers at the cursor. Put all new layers in a group layer Put all the result layers into a new group. Put every layer in its own, separate group layer Put each layer into its own group. Alpha-lock every new layer Enable the alpha-lock for each layer so it is easier to color. Hide the original layer Turns off the visibility on the original layer so you won't get confused. Sort layers by amount of non-transparent pixels This ensures that the layers with large color swathes will end up at the top. Disregard opacity Whether to take into account transparency of a color. Fuzziness How precise the algorithm should be. The larger the fuzziness, the less precise the algorithm will be. This is necessary for splitting layers with anti-aliasing, because otherwise you would end up with a separate layer for each tiny pixel. Palette to use for naming the layers Select the palette to use for naming. Krita will compare the main color of a layer to each color in the palette to get the most appropriate name for it. diff --git a/reference_manual/tools/move.rst b/reference_manual/tools/move.rst index 9cd68170d..919288b0a 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+) This allows you to set how much, and in which units, the :kbd:`Left Arrow`, :kbd:`Up Arrow`, :kbd:`Right Arrow` and :kbd:`Down Arrow` cursor key actions will move the layer. Large Move Scale (3.0+) Allows you to multiply the movement of the Shortcut Move Distance when pressing the :kbd:`Shift` key 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 the :kbd:`Shift` key, then move the layer, movement is constrained to the horizontal and vertical directions. If you press the :kbd:`Shift` key, then click, then move, all layers will be moved, with the movement constrained to the horizontal and vertical directions + If you click, then press the :kbd:`Shift` key, then move the layer, movement is constrained to the horizontal and vertical directions. If you press the :kbd:`Shift` key, then click, then move, all layers will be moved, with the movement constrained to the horizontal and vertical directions. .. image:: /images/tools/Movetool_coordinates.png Position Gives the top-left coordinate of the layer, can also be manually edited. diff --git a/reference_manual/tools/reference_images_tool.rst b/reference_manual/tools/reference_images_tool.rst index e2bc8295b..4808d48a9 100644 --- a/reference_manual/tools/reference_images_tool.rst +++ b/reference_manual/tools/reference_images_tool.rst @@ -1,52 +1,52 @@ .. meta:: :description: - The reference images tool + The reference images tool. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Tools, Reference .. _reference_images_tool: ===================== Reference Images Tool ===================== |toolreference| .. versionadded:: 4.1 The reference images tool is a replacement for the reference images docker. You can use it to load images from your disk as reference, which can then be moved around freely on the canvas and placed wherever. Tool Options ------------ Add Reference Image Load a single image to display on the canvas. Paste Reference Image Load an image from the system clipboard and add it as a reference image. Load Set Load a set of reference images. Save Set Save a set of reference images. Delete all reference images - Delete all the reference images + Delete all the reference images. Keep aspect ratio When toggled this will force the image to not get distorted. Opacity Lower the opacity. Saturation Desaturate the image. This is useful if you only want to focus on the light/shadow instead of getting distracted by the colors. Storage mode How is the reference image stored. Embed to \*.kra Store this reference image into the kra file. This is recommended for small vital files you'd easily lose track of otherwise. Link to external file. Only link to the reference image, krita will open it from the disk everytime it loads this file. This is recommended for big files, or files that change a lot. This option is only available when reference images are loaded from a local path. You can move around reference images by selecting them with |mouseleft|, and dragging them. You can rotate reference images by holding the cursor close to the outside of the corners till the rotate cursor appears, while tilting is done by holding the cursor close to the outside of the middle nodes. Resizing can be done by dragging the nodes. You can delete a single reference image by clicking it and pressing :kbd:`Del`. You can select multiple reference images with :kbd:`Shift` and perform all of these actions. To hide all reference images temporarily use :menuselection:`View --> Show Reference Images`. diff --git a/reference_manual/tools/transform.rst b/reference_manual/tools/transform.rst index 76b831a60..22b011b76 100644 --- a/reference_manual/tools/transform.rst +++ b/reference_manual/tools/transform.rst @@ -1,173 +1,173 @@ .. meta:: :description: Krita's transform tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Micheal Abrahams - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Tools, Transform .. _transform_tool: ============== Transform Tool ============== |tooltransform| The Transform tool lets you quickly transform the current selection or layer. Basic transformation options include resize, rotate and skew. In addition, you have the option to apply advanced transforms such as Perspective, Warp, Cage and Liquid. These are all powerful options and will give you complete control over your selections/layers. When you first invoke the tool, handles will appear at the corners and sides, which you can use to resize your selection or layer. You can perform rotations by moving the mouse above or to the left of the handles and dragging it. You can also click anywhere inside the selection or layer and move it by dragging the mouse. You can fine-tune the transform tool parameters using tool options docker. The parameters are split between five tabs: Free Transform, Warp, Perspective, Cage and Liquify. .. figure:: /images/tools/Transform_Tool_Options.png Free Transform docker. Free transform -------------- This allows you to do basic rotation, resizing, flipping, and even perspective skewing if you hold the :kbd:`Ctrl` key. Holding the :kbd:`Shift` key will maintain your aspect ratio throughout the transform. .. figure:: /images/tools/Krita_transforms_free.png Free transform in action. If you look at the bottom, there are quick buttons for flipping horizontally, vertically and rotating 90 degrees left and right. Furthermore, the button to the left of the anchor point widget allows you to choose whether to always transform using the anchor point, or not. `Video of how to use the anchor point for resizing. `_ Perspective ----------- While free transform has some perspective options, the perspective transform allows for maximum control. You can drag the corner points, or even the designated vanishing point. You can also change the size, shear and position transform while remaining in perspective with the tool-options. .. figure:: /images/tools/Krita_transforms_perspective.png Perspective transform. Warp ---- Warp allows you to deform the image by dragging from a grid or choosing the dragging points yourself. .. figure:: /images/tools/Transform_Tool_Options_Warp.png Warp Option. .. figure:: /images/tools/Krita_transforms_warp.png Free transform in action. There are warp options: Rigid, Affine and Similtude. These change the algorithm used to determine the strength of the deformation. The flexibility determines, how strong the effect of moving these points are. Anchor Points ~~~~~~~~~~~~~ You can divide these either by subdivision or drawing custom points. Subdivision This allows you to subdivide the selected area into a grid. Draw Draw the anchor points yourself. Locking the points will put you in transform mode. Unlocking the points back into edit mode. Cage ---- Create a cage around an image, and when it's closed, you can use it to deform the image. If you have at the least 3 points on the canvas, you can choose to switch between deforming and editing the existing points. .. figure:: /images/tools/Krita_transforms_cage.png Transforming a straight banana to be curved with the cage tool. Adjust Granularity ~~~~~~~~~~~~~~~~~~ .. versionadded:: 4.2 This adjusts the precision of the cage transform grid. Lower precision gives more speed but also gives less precise results. Preview Adjusts the granularity of the preview. It is recommended to have this lower than the :guilabel:`Real` value, as it speeds up adjusting. Real Adjusts the granularity of the final result. Hotkeys ~~~~~~~ Both Cage and Warp use little nodes. These nodes can be selected and deselected together by pressing the :kbd:`Ctrl` key before clicking nodes. Then you can move them by pressing the cursor inside the bounding box. Rotating is done by pressing and dragging the cursor outside the bounding box and scaling the same, only one presses the :kbd:`Ctrl` key before doing the motion. .. _liquify_mode: Liquify ------- .. image:: /images/tools/Transform_Tool_Options_Liquify.png Like our deform brush, the liquify brush allows you to draw the deformations straight on the canvas. Move Drag the image along the brush stroke. Scale Grow/Shrink the image under the cursor. Rotate Twirl the image under the cursor. Offset Shift the image under the cursor. Undo Erases the actions of other tools. .. figure:: /images/tools/Krita_transforms_liquefy.png - Liquify used to turn an apple into a pear + Liquify used to turn an apple into a pear. In the options for each brush there are: Mode This is either :guilabel:`Wash` or :guilabel:`Build up`. :guilabel:`Wash` will normalize the effect to be between none, and the amount parameter as maximum. :guilabel:`Build up` will just add on until it's impossible. Size The brush size. The button to the right allow you to let it scale with pressure. Amount The strength of the brush. The button to the right lets it scale with tablet pressure. Flow Only applicable with :guilabel:`Build up`. Spacing The spacing of the liquify dabs. Reverse Reverses the action, so grow becomes shrink, rotate results in clockwise becoming counter-clockwise. .. figure:: /images/tools/Krita_transforms_deformvsliquefy.png Liquify on the left and deform brush on the right. Krita also has a :ref:`deform_brush_engine` which is much faster than liquify, but has less quality. If you are attempting to make liquefy a little faster, note that it speeds up with the less information it needs to process, so working with liquefy within a selection or using liquefy on a separate layer with little on it will greatly enhance the speed. Recursive Transform ------------------- The little spider icon on the lower-left of the transform tool options is the :guilabel:`Recursive Transform`. .. figure:: /images/tools/Krita_transforms_recursive.png Recursive transform transforms all the layers in the group, so with this apple, both the lineart as the fill will be transformed. Recursive transform, when toggled, allows you to mass-transform all the layers in a group when only transforming the group. Continuous Transform -------------------- If you apply a transformation, and try to start a new one directly afterwards, Krita will attempt to recall the previous transform, so you can continue it. This is the *continuous transform*. You can press the :kbd:`Esc` key to cancel this and start a new transform, or press :guilabel:`Reset` in the tool options while no transform is active. Transformation Masks -------------------- These allow you make non-destructive transforms, check :ref:`here ` for more info. diff --git a/tutorials/clipping_masks_and_alpha_inheritance.rst b/tutorials/clipping_masks_and_alpha_inheritance.rst index 0ef475126..263905c12 100644 --- a/tutorials/clipping_masks_and_alpha_inheritance.rst +++ b/tutorials/clipping_masks_and_alpha_inheritance.rst @@ -1,83 +1,83 @@ .. meta:: :description lang=en: An introduction for using clipping masks in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Vancemoss :license: GNU free documentation license 1.3 or later. .. index:: Alpha Inheritance, Clipping Masks .. _clipping_masks_and_alpha_inheritance: ==================================== Clipping Masks and Alpha Inheritance ==================================== Krita doesn't have clipping mask functionality in the manner that Photoshop and programs that mimic Photoshop's functionality have. That's because in Krita, unlike such software, a group layer is not an arbitrary collection of layers. Rather, in Krita, group layers are composited separately from the rest of the stack, and then the result is added into the stack. In other words, in Krita group layers are in effect a separate image inside your image. .. image:: /images/clipping-masks/Composition_animation.gif :alt: Animation showing that groups are composed before the rest of composition takes place. :width: 800 The exception is when using pass-through mode, meaning that alpha inheritance won't work right when turning on pass-through on the layer. .. image:: /images/layers/Layer-composite.png - :alt: An image showing the way layers composite in Krita + :alt: An image showing the way layers composite in Krita. :width: 800 When we turn on alpha inheritance, the alpha-inherited layer keeps the same transparency as the layers below. .. image:: /images/layers/Krita-tutorial2-I.1-2.png :alt: An image showing how the alpha inheritance works and affects layers. :width: 800 Combined with group layers this can be quite powerful. A situation where this is particularly useful is the following: .. image:: /images/clipping-masks/Tut_Clipping_1.png - :alt: an image with line art and a layer for each flat of color + :alt: An image with line art and a layer for each flat of color. :width: 800 Here we have an image with line art and a layer for each flat of colors. We want to add complicated multi-layered shading to this, while keeping the neatness of the existing color flats. To get a clipping mask working, you first need to put layers into a group. You can do this by making a group layer and drag-and-dropping the layers into it, or by selecting the layers you want grouped and pressing the :kbd:`Ctrl + G` shortcut. Here we do that with the iris and the eye-white layers. .. image:: /images/clipping-masks/Tut_Clipping_2.png :alt: An image showing how the alpha inheritance works and affects layers. :width: 800 We add a layer for the highlight above the other two layers, and add some white scribbles. .. image:: /images/clipping-masks/Tut_Clipping_3.png - :alt: clipping mask step 3 + :alt: Clipping mask step 3. :width: 800 .. image:: /images/clipping-masks/Tut_Clipping_4.png - :alt: clipping mask step 4 + :alt: Clipping mask step 4. :width: 800 In the above, we have our layer with a white scribble on the left, and on the right, the same layer, but with alpha inheritance active, limiting it to the combined area of the iris and eye-white layers. .. image:: /images/clipping-masks/Tut_Clipping_5.png - :alt: clipping mask step 5 + :alt: Clipping mask step 5. :width: 800 Now there’s an easier way to set up alpha inheritance. If you select a layer or set of layers and press the :kbd:`Ctrl + Shift + G` shortcut, you create a quick clipping group. That is, you group the layers, and a ‘mask layer’ set with alpha inheritance is added on top. .. image:: /images/clipping-masks/Tut_Clipping_6.png - :alt: clipping mask step 6 + :alt: Clipping mask step 6. :width: 800 .. image:: /images/clipping-masks/Tut_Clipping_7.png - :alt: clipping mask step 7 + :alt: Clipping mask step 7. :width: 800 The fact that alpha inheritance can use the composited transparency from a combination of layers means that you can have a layer with the erase-blending mode in between, and have that affect the area that the layer above is clipped to. Above, the lower image is exactly the same as the upper one, except with the erase-layer hidden. Filters can also affect the alpha inheritance: .. image:: /images/clipping-masks/Tut_clip_blur.gif - :alt: filter layers and alpha inheritance + :alt: Filter layers and alpha inheritance. :width: 800 Above, the blur filter layer gives different results when in different places, due to different parts being blurred. diff --git a/tutorials/common_workflows.rst b/tutorials/common_workflows.rst index 7f44c4ed0..67586afd8 100644 --- a/tutorials/common_workflows.rst +++ b/tutorials/common_workflows.rst @@ -1,210 +1,210 @@ .. meta:: :description lang=en: - Common workflows used in Krita + 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 a 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 the digital medium, sketching and visualizing concepts in Krita from scratch. As the name suggests a technique of painting done within a 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 goals of this type of painting, but the representation of form value and layout is the main goal. -Some artists set a 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. +Some artists set a 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 brushes 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 many 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 `_ in an hours time. .. image:: /images/Pepper-speedpaint-deevad.jpg - :alt: speedpaint of pepper and carrot by deevad (David Revoy) + :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 line art ^^^^^^^^^^^^^^^^^^^^^^ If your images have 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 :guilabel:`Multiply` +Place the line art at the top of the layer stack and set its layer blending mode to :guilabel:`Multiply`. -If you want to clean the line art a bit you can press the :kbd:`Ctrl + L` shortcut or go to :menuselection:`Filters --> Adjust --> Levels` +If you want to clean the line art a bit you can press the :kbd:`Ctrl + L` shortcut or go to :menuselection:`Filters --> Adjust --> Levels`. .. image:: /images/filters/Levels-filter.png - :alt: level filter dialog + :alt: Level filter dialog. You can clean the unwanted grays 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:`Filters --> Adjust --> Color adjustment` curves or press the :kbd:`Ctrl + M` shortcut. +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:`Filters --> Adjust --> Color adjustment curves` or press the :kbd:`Ctrl + M` shortcut. .. image:: /images/common-workflows/Color-adjustment-cw.png - :alt: remove blue lines from image step 1 + :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 input field. Repeat this step for **Green** too. .. image:: /images/common-workflows/Color-adjustment-02.png - :alt: removing blue lines from scan step 2 + :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/common-workflows/Color-adjustment-03.png - :alt: remove blue lines from scans step 3 + :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:`Filters --> Adjust --> Desaturate` or press the :kbd:`Ctrl + Shift + U` shortcut. Now select :guilabel:`Max` from the list. .. image:: /images/common-workflows/Color-adjustment-04.png - :alt: remove blue lines from scans step 4 + :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/filters/Color-to-alpha.png - :alt: color to alpha dialog box + :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 line art. Your line art can be in grayscale 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 common among the artists. 1. Paint blocks of color directly with block brushes. 2. Fill with Flood fill Tool. 3. Use one of the G'MIC colorize 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 drop-down in the brush presets docker and use the brushes listed there. Add a layer underneath your line art layer and start painting with the brush. If you want to correct any area you can press the :kbd:`E` key 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 :guilabel:`Grow selection` to 2px, uncheck :guilabel:`Limit to current layer` if previously checked. .. image:: /images/common-workflows/Floodfill-krita.png - :alt: flood fill in krita + :alt: Flood fill in krita. Choose a color from color selector 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 Colorize [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 you down on your production time. -To begin coloring with the G'MIC colorize interactive, go to :menuselection:`Filters --> G'MIC`. Choose :menuselection:`Filters --> 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 an additional color palette. The example of the filter window with the required inputs is shown below. +To begin coloring with the G'MIC colorize interactive, go to :menuselection:`Filters --> G'MIC`. Choose :menuselection:`Filters --> 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 an additional color palette. The example of the filter window with the required inputs is shown below. .. image:: /images/common-workflows/GMIC-colorize-interactive-krita.png - :alt: G'MIC window in Krita + :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 line art. Choose the color from the palette and click on the areas that need to be filled with color like the example shown below. .. image:: /images/common-workflows/Krita-GMIC-colorize-interactive.png - :alt: G'MIC colorize interactive window + :alt: G'MIC colorize interactive window. If you feel that the dots are a bit distracting you can press the :kbd:`Tab` key to reduce the size or hide the dots. To zoom out you can press :kbd:`Ctrl + ↓` and :kbd:`Ctrl + ↑` shortcuts and vice versa. Panning is done by |mousemiddle| :kbd:`+ drag`. Press the :kbd:`Spacebar` key to generate the colors. If you want to replace a color select the color by |mousemiddle| and pressing the :kbd:`R` key then you can select an alternate color from the palette. Once you have finished adding the desired flat colors you can press the :kbd:`Enter` key to apply the filter. Then don't forget to press **Ok** in the G'MIC 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 G'MIC colorize comics filter. This technique needs some preparations before you run the G'MIC filter. This layer extrapolates the color spots that you input below the line art +Krita provides one more option to prepare flat colors through G'MIC colorize comics filter. This technique needs some preparations before you run the G'MIC filter. This layer extrapolates the color spots that you input below the line art. 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 line art. The layer setup can be seen in the image below. .. image:: /images/common-workflows/Colorize-krita.png - :alt: G'MIC colorize comics layer setup + :alt: G'MIC colorize comics layer setup. -The colors spots are marked in red in the image +The colors spots are marked in red in the image. -Now go to :menuselection:`Filters --> G'MIC --> Black & white --> Colorize[comics]`. In the G'MIC dialog box, select :guilabel:`All` for input and :guilabel:`In place (default)` for output, select :guilabel:`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:`Filters --> G'MIC --> Black & white --> Colorize [comics]`. In the G'MIC dialog box, select :guilabel:`All` for input and :guilabel:`In place (default)` for output, select :guilabel:`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/common-workflows/Colorise-comics-setting.png - :alt: Colorize Interactive dialog and settings + :alt: Colorize Interactive dialog and settings. Press **Apply** and **Ok** to apply and exit the G'MIC dialog. You'll now have flat colors beneath your line art. 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 artists 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 your brain pick out shapes and compositions. .. image:: /images/common-workflows/Chaos2.jpg - :alt: Starting a painting from chaotic sketch + :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 its origins in old oil-painting practice: You first make an under-painting and then paint over it with color, 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 colors of the image without changing the relative luminosity. This is useful, because humans are much more sensitive to tonal differences than the difference in saturation and hue. This'll allow you to work in grayscale before going into color 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 templates for you to choose and get started with creating textures. These templates have common sizes, bit depth and color profiles that are used for texturing workflow. +Many artists use Krita to create textures for 3d assets used for games animation, etc. Krita has many texture templates for you to choose and get started with creating textures. These templates 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 got to :menuselection:`View --> Wrap Around Mode`. Now 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 a 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/common-workflows/Layer-docker-pixelart.png - :alt: Layer stack setup for pixel art + :alt: Layer stack setup for pixel art. The index color filter maps specific user-selected colors to the grayscale value of the artwork. You can see the example below, the strip below the black and white gradient has an index color applied to it so that the black and white gradient gets the color selected to different values. .. image:: /images/common-workflows/Gradient-pixelart.png - :alt: color mapping in index color to grayscale + :alt: Color mapping in index color to grayscale. You can choose the required colors and ramps in the index color filter dialog as shown below. .. image:: /images/common-workflows/Index-color-filter.png - :alt: index color filter dialog + :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 grayscale and add an 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/common-workflows/Kiki-pixel-art.png - :alt: Pixel art done in Krita + :alt: Pixel art done in Krita. diff --git a/tutorials/flat-coloring.rst b/tutorials/flat-coloring.rst index 01663c9c2..6c19376a8 100644 --- a/tutorials/flat-coloring.rst +++ b/tutorials/flat-coloring.rst @@ -1,329 +1,329 @@ .. meta:: :description lang=en: - Common workflows used in Krita + 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 line art colored in with flat colors. So no shading just yet. We’ll be going through some techniques for preparing the line art, and we’ll be using the layer docker to put each color on a separate layer, so we can easily access each color when we add shading. .. note:: This tutorial is adapted from this `tutorial `_ by the original author. Understanding Layers -------------------- To fill line art 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 color 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 line art 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 line art (drag and drop or use the up/down arrows for that), and draw on it. .. image:: /images/flat-coloring/Krita_filling_lineart14.png - :alt: layer structure for flatting in krita + :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 color in our drawing is prepare our line art. There’s several methods of doing so, each with varying qualities. The Multiply Blending Mode -------------------------- So, typically, to get a black and white line art usable for coloring, you can set the blending mode of the line art 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/flat-coloring/Krita_filling_lineart1.png - :alt: blend mode setup of line art flat coloring + :alt: Blend mode setup of line art 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 line art blue, it results into this: .. image:: /images/flat-coloring/Krita_filling_lineart2.png - :alt: effects of multiply blend mode + :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 normalized values. Finally, it takes the result and multiplies it with 255 again to get the result values. .. list-table:: :header-rows: 1 * - - Pink - Pink (normalized) - Blue - Blue (normalized) - Normalized, 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 colored lines by softening the look of the lines while keeping nice contrast. Disadvantages """"""""""""" Not actually transparent. Is a little funny with colored 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 line art layer. 2. Convert the duplicate to a selection mask. |mouseright| the layer, then :menuselection:`Convert --> to Selection Mask`. .. image:: /images/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/flat-coloring/Krita_filling_lineart_selection_2.png And you should now have the line art on a separate layer. Advantages """""""""" Actual transparency. Disadvantages """"""""""""" Doesn't work when the line art is colored. Using Masks ----------- This is a simpler variation of the above. 1. Make a filled layer underneath the line art layer. .. image:: /images/flat-coloring/Krita_filling_lineart_mask_1.png 2. Convert the line art layer to a transparency mask |mouseright| the layer, then :menuselection:`Convert --> to Transparency Mask`. .. image:: /images/flat-coloring/Krita_filling_lineart_mask_2.png -3. Invert the transparency mask by going to :menuselection:`Filter --> Adjust --> Invert` +3. Invert the transparency mask by going to :menuselection:`Filter --> Adjust --> Invert`. .. image:: /images/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 line art is colored already. We can still get faster. Using Color to Alpha -------------------- By far the fastest way to get transparent line art. 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 line art. .. image:: /images/flat-coloring/Krita_filling_lineart_color_to_alpha.png Advantages """""""""" Actual transparency. Works with colored line art as well, because it removes the white specifically. Disadvantages """"""""""""" You'll have to lock the layer transparency or separate out the alpha via the right-click menu if you want to easily color it. Coloring the image ================== Much like preparing the line art, there are many different ways of coloring 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 + :alt: Fill-tool icon. In most cases the fill-tool can’t deal with the anti-aliasing (the soft edge in your line art to make it more smooth when zoomed out) In Krita you have the grow-shrink option. Setting that to say… 2 expands the color two pixels. Threshold decides when the fill-tool should consider a different color pixel to be a border. And the feathering adds an extra soft border to the fill. Now, if you click on a gapless-part of the image with your preferred color… (Remember to set the opacity to 1.0!) Depending on your line art, you can do flats pretty quickly. But setting the threshold low can result in little artifacts around where lines meet: .. image:: /images/flat-coloring/Krita_filling_lineart7.png - :alt: colors filled with fill tool + :alt: Colors filled with fill tool. However, setting the threshold high can end with the fill not recognizing 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/flat-coloring/Krita_filling_lineart15.png - :alt: selecting with selection tools for filling color + :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/flat-coloring/Krita_filling_lineart16.png - :alt: selection mask in Krita + :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 the :kbd:`Shift + Backspace` shortcut. .. image:: /images/flat-coloring/Krita_filling_lineart17.png - :alt: filling color in selection + :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/flat-coloring/Krita_filling_lineart18.png - :alt: result of coloring made with the help of selection tools + :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). .. |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/flat-coloring/Krita_filling_lineart8.png - :alt: filling color in line art using path tool + :alt: Filling color in line art using path tool. You can also erase with a geometric tool. Just press the :kbd:`E` key or the eraser button. .. image:: /images/flat-coloring/Krita_filling_lineart9.png - :alt: erasing with path tool + :alt: Erasing with path tool. Advantages """""""""" Quicker than using the brush or selections. Also decent with line art 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 you want to use on the colorize mask +3. Paint the colors you want to use on the colorize mask. 4. Click update to see the results: .. image:: /images/flat-coloring/Krita_filling_lineart10.png - :alt: coloring with colorize mask + :alt: Coloring with colorize 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 making the line art semi-transparent and painting the flaws away with a pixel art brush. .. image:: /images/flat-coloring/Krita_filling_lineart11.png - :alt: result from the colorize mask + :alt: Result from the colorize mask. Then, when you are done, split the layers via :menuselection:`Layer --> Split --> Split Layer`. There are a few options you can choose, but the following should be fine: .. image:: /images/flat-coloring/Krita_filling_lineart12.png - :alt: slitting colors into islands + :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/flat-coloring/Krita_filling_lineart13.png - :alt: resulting color islands from split layers + :alt: Resulting color islands from split layers. Advantages """""""""" Works with anti-aliased line art. Really quick to get the base work done. Can auto-close gaps. Disadvantages """"""""""""" No anti-aliasing of its 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 line art is better than a badly shaded one, so keep practicing to get the best out of these techniques! diff --git a/tutorials/inking.rst b/tutorials/inking.rst index 842bc6b13..1a0ebbd5c 100644 --- a/tutorials/inking.rst +++ b/tutorials/inking.rst @@ -1,157 +1,157 @@ .. meta:: :description lang=en: - tips and tricks for inking in Krita + 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 realize 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/inking/Stroke_fingers.gif - :alt: finger movement + :alt: Finger movement. .. image:: /images/inking/Stroke_wrist.gif - :alt: wrist movement + :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/inking/Stroke_arm.gif - :alt: arm movement + :alt: Arm movement. .. image:: /images/inking/Stroke_shoulder.gif - :alt: stroke shoulder movement + :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 are 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/inking/Stroke_rigger.gif - :alt: rigger brush demonstration + :alt: Rigger brush demonstration. 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 very long hairs. Due to 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 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 :guilabel:`Snap to 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 the :kbd:`F5` key 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 are 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/inking/Inking_patterned.png - :alt: type of strokes + :alt: Type of strokes. - Left: No texture, Center: Textured, Right: Predefined Brush tip + 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 is a slightly concave line to create a brush that more easily makes thin lines. .. figure:: /images/inking/Ink_gpen.png - :alt: pressure curve for ink gpen + :alt: Pressure curve for Ink Gpen preset brush. 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/inking/Ink_convex.png - :alt: convex inking brush + :alt: Convex inking brush. - conversely, here's a convex brush. The strokes are much rounder + Conversely, here's a convex brush. The strokes are much rounder. .. figure:: /images/inking/Ink_fill_circle.png - :alt: ink fill circle + :alt: Ink fill circle preset brush. - Fill_circle combines both into an s-curve, this allows for very dynamic brush strokes + Fill_circle combines both into an s-curve, this allows for very dynamic brush strokes. .. figure:: /images/inking/Ink_speed.png - :alt: inverse convex to speed parameter + :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 + 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 the :kbd:`Backspace` key) 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 colored """"""""""""""""""""""" 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 colored, 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. +Or, |mouseright| on 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 an 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/inking/Inking_aliasresize.png - :alt: aliased resize + :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 b221049ea..acafad456 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 + 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/brush-tips/Krita-animtedbrush.png - :alt: krita Animated brush tip layer setup + :alt: Krita Animated brush tip layer setup. :width: 800 You can use the :kbd:`Alt +` |mouseleft| shortcut on the layer thumbnails to isolate layers without hiding them. .. image:: /images/brush-tips/Krita-animtedbrush1.png - :alt: Animated brush tips isolated layers + :alt: Animated brush tips isolated layers. When done you should have a mess like this. Go into the brush settings (:kbd:`F5` key), and go to predefined brush-tips, and click stamp. You will get this window. .. image:: /images/brush-tips/Krita-animtedbrush2.png - :alt: Predefined brush tips dialog + :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). .. image:: /images/brush-tips/Krita-animtedbrush3.png - :alt: Animated brush image dialog + :alt: Animated brush image dialog. Then select the above brush and your new leafy-brush tip. .. image:: /images/brush-tips/Krita-animtedbrush4.png - :alt: Result of an animated brush + :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/bokeh-brush.rst b/tutorials/krita-brush-tips/bokeh-brush.rst index 069320071..4cbc0346f 100644 --- a/tutorials/krita-brush-tips/bokeh-brush.rst +++ b/tutorials/krita-brush-tips/bokeh-brush.rst @@ -1,41 +1,41 @@ .. meta:: :description lang=en: Creating bokeh effect with the help of some simple brush tip. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _bokeh_brush_tips: ================= Brush Tips: Bokeh ================= Question -------- How do you do bokeh effects? First, blur your image with the Lens Blur to roughly 50 pixels. .. image:: /images/brush-tips/Krita-brushtips-bokeh_01.png - :alt: krita bokeh brush setup background + :alt: Krita bokeh brush setup background. :width: 800 Take smudge_textured, add scattering, turn off tablet input. .. image:: /images/brush-tips/Krita-brushtips-bokeh_02.png - :alt: Krita bokeh brush tips scatter settings + :alt: Krita bokeh brush tips scatter settings. Change the brush-tip to ‘Bokeh’ and check ‘overlay’ (you will want to play with the spacing as well). .. image:: /images/brush-tips/Krita-brushtips-bokeh_03.png - :alt: Choosing the brush tip for the bokeh effect + :alt: Choosing the brush tip for the bokeh effect. Then make a new layer over your drawing, set that to ‘lighter color’ (it’s under lighter category) and painter over it with you brush. .. image:: /images/brush-tips/Krita-brushtips-bokeh_04.png - :alt: paint the bokeh circles on the background + :alt: Paint the bokeh circles on the background. Overlay mode on the smudge brush allows you to sample all the layers, and the ‘lighter color’ blending mode makes sure that the Bokeh circles only show up when they are a lighter color than the original pixels underneath. You can further modify this brush by adding a ‘fuzzy’ sensor to the spacing and size options, changing the brush blending mode to ‘addition’, or by choosing a different brush-tip. diff --git a/tutorials/krita-brush-tips/caustics.rst b/tutorials/krita-brush-tips/caustics.rst index 4c0a46420..d00619608 100644 --- a/tutorials/krita-brush-tips/caustics.rst +++ b/tutorials/krita-brush-tips/caustics.rst @@ -1,94 +1,94 @@ .. meta:: :description lang=en: - Creating the caustic effects of underwater with Krita + Creating the caustic effects of underwater with Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _caustics: ==================== Brush Tips: Caustics ==================== Question -------- Could you do a tutorial on how to recreate the look of light refracting in water? Sure, caustics, it’s not like it’s the most complicated effect known to CG graphics… Okay, so the first thing is that light effects never work in isolation: you need to be spot on with colors and other effects to make it work. So we first need to recreate the surroundings a bit. .. image:: /images/brush-tips/Krita-brushtips-caustics_01.png - :alt: Background gradient for creating caustic effects + :alt: Background gradient for creating caustic effects. :width: 800 We set up something simple with gradients. Some radial, some linear. The eraser mode works with gradients as well, so use that to your advantage! We create a simple smudge brush by taking smudge_soft and adding scattering to it, as well as an s-curve on the smudge length. .. image:: /images/brush-tips/Krita-brushtips-caustics_02.png - :alt: Brush Settings + :alt: Brush Settings. And then we build up a quick base: .. image:: /images/brush-tips/Krita-brushtips-caustics_03.gif - :alt: building a base for the caustic effects from the brush + :alt: Building a base for the caustic effects from the brush. Note how the smudge brush here is used not just to mix areas, but also to create definition of borders by lowering the scatter. (If you reverse the pressure curve on the scatter, this’ll be easily done by increasing the pressure on the stylus) Now for the real magic. Caustics are a bit hairy, which means it’s a good candidate for the sketch brush engine. .. image:: /images/brush-tips/Krita-brushtips-caustics_04.png - :alt: Settings for the brush to create the caustic lines + :alt: Settings for the brush to create the caustic lines. Take *sketch_ink_big*, and add pressure to the :guilabel:`Line width` while setting :guilabel:`Density` under the :guilabel:`Brush size` to 100%. This makes it extra hairy. .. image:: /images/brush-tips/Krita-brushtips-caustics_05.png - :alt: Set color blending mode the color dodge + :alt: Set color blending mode the color dodge. Set the brush blending mode to :guilabel:`Color Dodge`, and select the color of our caustics. Color dodge will cause a move towards white by applying special dodge color maths to our brush dabs instead of the :guilabel:`Normal` averaging color maths. Outside of pressure for making varying strokes, glowiness for the light and extra density, we also want to have the size of the line decrease the further away it is… .. image:: /images/brush-tips/Krita-brushtips-caustics_06.png - :alt: Setup the perspective assistant + :alt: Setup the perspective assistant. Then, use the assistant editor tool to add a perspective grid. It doesn’t need to be perfectly in perspective, because we’ll only use it for the perspective sensor. .. image:: /images/brush-tips/Krita-brushtips-caustics_07.png - :alt: Select the perspective parameter in the brush settings + :alt: Select the perspective parameter in the brush settings. This will cause the brush to give smaller lines the further it registers on the perspective assistant. (It only works per single perspective assistant, making it not very good for chaining, but for our purpose this is good.) Then you start slowly building up your lines. (Make sure to make a copy of the layer. The color dodge blending doesn’t work well on a separate layer, so do it on one that also has the ground on it.) .. image:: /images/brush-tips/Krita-brushtips-caustics_08.png - :alt: painting the caustics + :alt: Painting the caustics. Make sure to try and follow the shapes you made. (*I failed at this*) The great thing about the sketch brush is that it causes those little ‘melt-togethers’ where two lines cross. This is only per stroke, so make a lot of long ongoing strokes with this brush to make use of it. .. image:: /images/brush-tips/Krita-brushtips-caustics_09.png - :alt: adding a little gradient + :alt: Adding a little gradient. Then take the gradient tool, and set the blending mode to color and the paint tool to a light blue, so we can get in the bluish atmospheric effect. .. image:: /images/brush-tips/Krita-brushtips-caustics_10.png - :alt: Adding some atmospheric effect + :alt: Adding some atmospheric effect. Then use the airbrush_pressure with the line tool to make some light-shafts of different sizes on a separate layer. (Don’t forget you can use the eraser mode for subtle erasing with the line tool as well) .. image:: /images/brush-tips/Krita-brushtips-caustics_11.png - :alt: Add some light shafts + :alt: Add some light shafts. Set the blending mode to color dodge and lower the opacity. .. image:: /images/brush-tips/Krita-brushtips-caustics_12.png - :alt: change the blend mode to color dodge of the layer + :alt: Change the blend mode to color dodge of the layer. Finally, polish the piece with the airbrush tool and some local color picking. .. figure:: /images/brush-tips/Krita-brushtips-caustics_13.png - :alt: final polish + :alt: Final polish. Final Result diff --git a/tutorials/krita-brush-tips/fur.rst b/tutorials/krita-brush-tips/fur.rst index 93edc9a8c..2c01dbd86 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 + 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/brush-tips/Krita-brushtips-fur_01.png - :alt: Some example of furs and hair + :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 :ref:`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/brush-tips/Krita-brushtips-fur_02.png - :alt: brush setting dialog for fur brush + :alt: Brush setting dialog for fur brush. Take the :guilabel:`ink_brush_25` and choose under :menuselection:`Brush Tip --> Predefined “A-2 dirty brush”`. Set the spacing to :guilabel:`Auto` and right-click the spacing bar to type in a value between 0.25 and 0.8. Also turn on the :guilabel:`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/brush-tips/Krita-brushtips-fur_03.png - :alt: brush setting dialog for fur + :alt: Brush setting dialog for fur. Then activate value and reproduce this curve with the :guilabel:`Distance` or :guilabel:`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/brush-tips/Krita-brushtips-fur_04.png - :alt: brush setting dialog showing color gradation + :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 its 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/brush-tips/Krita-brushtips-fur_05.png - :alt: result of the brush that we made + :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/brush-tips/Krita-brushtips-fur_06.png - :alt: using the fur brush to make grass and hair + :alt: Using the fur brush to make grass and hair. For example, if you use the mix option in the pixel 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 :guilabel:`Gradient` option, and it’ll use the active gradient. For the pixel brush, set the color-source to :guilabel:`Gradient` and use the mix option. .. image:: /images/brush-tips/Krita-brushtips-fur_07.png - :alt: fur brush with the color source to gradient and mix option + :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/hair.rst b/tutorials/krita-brush-tips/hair.rst index e22b9d150..ace7e2fa0 100644 --- a/tutorials/krita-brush-tips/hair.rst +++ b/tutorials/krita-brush-tips/hair.rst @@ -1,30 +1,30 @@ .. meta:: :description lang=en: - A tutorial about painting hair in Krita + A tutorial about painting hair in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _hair: =============== Brush-tips:Hair =============== .. image:: /images/brush-tips/Krita-brushtips-hair_01.png - :alt: some examples of hair brush + :alt: Some examples of hair brush. Usually, most digital styles tend to focus on simple brushes, like the round brushes, and their usage in hair is no different. So, the typical example would be the one on the left, where we use *fill_round* to draw a silhouette and build up to lighter values. The reason I use *fill_round* here is because the pressure curve on the size is s-shaped. My tablet has a spring-loaded nib which also causes and s-shaped curve hard-ware wise. This means that it becomes really easy to draw thin lines and big lines. Having a trained inking hand helps a lot with this as well, and it’s something you build up over time. .. image:: /images/brush-tips/Krita-brushtips-hair_02.png - :alt: curve setting in brush editor + :alt: Curve setting in brush editor. We then gloss the shadow parties with the *basic_tip_default*. So you can get really far with basic brushes and basic painting skills and indeed I am almost convinced tysontan, who draws our mascot, doesn’t use anything but the *basic_tip_default* sometimes. .. image:: /images/brush-tips/Krita-brushtips-hair_03.png - :alt: brush-tip dialog + :alt: Brush-tip dialog. However, if you want an easy hair brush, just take the *fill_round*, go to the brush-tip, pick predefined and select *A2-sparkle-1* as the brush tip. You can fiddle with the spacing below the selection of predefined brushtip to space the brush, but I believe the default should be fine enough to get result. diff --git a/tutorials/krita-brush-tips/outline.rst b/tutorials/krita-brush-tips/outline.rst index d337d0cec..0f4062de5 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 + 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/brush-tips/Krita-layerstyle_hack.png - :alt: image demonstrating the layer style hack for this effect + :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: .. image:: /images/brush-tips/Krita-layerstyle_hack2.png - :alt: image demonstrating the layer style hack for this effect + :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) +(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/rainbow-brush.rst b/tutorials/krita-brush-tips/rainbow-brush.rst index 602958ba4..c123437be 100644 --- a/tutorials/krita-brush-tips/rainbow-brush.rst +++ b/tutorials/krita-brush-tips/rainbow-brush.rst @@ -1,41 +1,41 @@ .. meta:: :description lang=en: - A tutorial about making rainbow brush in krita + A tutorial about making rainbow brush in krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _rainbow: ======================== Brush-tips:Rainbow Brush ======================== Question -------- **Hello, there is a way to paint with rainbow on Krita?** Yes there is. First, select the fill_circle: .. image:: /images/brush-tips/Brushtip-Rainbow.png - :alt: selecting fill circle for brush tip + :alt: Selecting fill circle for brush tip. Then, press the :kbd:`F5` key to open the brush editor, and toggle **Hue**. .. image:: /images/brush-tips/Brushtip-Rainbow_2.png - :alt: toggle hue in the brush parameter + :alt: Toggle hue in the brush parameter. This should allow you to change the color depending on the pressure. .. caution:: The brightness of the rainbow is relative to the color of the currently selected color, so make sure to select bright saturated colors for a bright rainbow! Uncheck **Pressure** and check **Distance** to make the rainbow paint itself over distance. The slider below can be |mouseright| to change the value with keyboard input. .. image:: /images/brush-tips/Brushtip-Rainbow_3.png - :alt: select distance parameter for the hue + :alt: Select distance parameter for the hue. When you are satisfied, give the brush a new name and save it. diff --git a/tutorials/krita-brush-tips/sculpt-paint-brush.rst b/tutorials/krita-brush-tips/sculpt-paint-brush.rst index 88926e7ec..037d37980 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 + 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 the :kbd:`F5` key. .. image:: /images/brush-tips/Painter-sculpt-brush-01.png - :alt: brush setting dialog to get started + :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/brush-tips/Painter-sculpt-brush-02.png - :alt: remove pressure from opacity parameter and add fade. + :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/brush-tips/Painter-sculpt-brush-03.png - :alt: select the Angular church brush tip + :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/brush-tips/Painter-sculpt-brush-04.png - :alt: opacity parameter in the brush setting + :alt: Opacity parameter in the brush 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/brush-tips/Painter-sculpt-brush-05.png - :alt: switch off sensors for color rate + :alt: Switch off sensors for color rate. Then, finally, we'll make the brush rotate. .. image:: /images/brush-tips/Painter-sculpt-brush-06.png - :alt: brush rotation is enabled + :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/brush-tips/Painter-sculpt-brush-07.png - :alt: result from the brush we made. + :alt: Result from the brush we made. diff --git a/tutorials/making_an_azalea_with_the_transformation_masks.rst b/tutorials/making_an_azalea_with_the_transformation_masks.rst index 3c457d0fc..6677a04a8 100644 --- a/tutorials/making_an_azalea_with_the_transformation_masks.rst +++ b/tutorials/making_an_azalea_with_the_transformation_masks.rst @@ -1,142 +1,142 @@ .. meta:: :description lang=en: - Tutorial for making azalea with the help of transform masks + Tutorial for making azalea with the help of transform masks. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _making_an_azalea_with_the_transformation_masks: ============================================== Making An Azalea With The Transformation Masks ============================================== .. image:: /images/making-azalea/Krita-screencast-azaleas.png - :alt: making azalea with transform masks + :alt: Making azalea with transform masks. -.. note:: This page was ported from the original post on the main page +.. note:: This page was ported from the original post on the main page to KDE UserBase wiki. Okay, so I’ve wanted to do a tutorial for transform masks for a while now, and this is sorta ending up to be a flower-drawing tutorial. Do note that this tutorial requires you to use **Krita 2.9.4 at MINIMUM**. It has a certain speed-up that allows you to work with transform masks reliably! I like drawing flowers because they are a bit of an unappreciated subject, yet allow for a lot of practice in terms of rendering. Also, you can explore cool tricks in Krita with them. Today’s flower is the Azalea flower. These flowers are usually pink to red and appear in clusters, the clusters allow me to exercise with transform masks! I got an image from Wikipedia for reference, mostly because it’s public domain, and as an artist I find it important to respect other artists. You can copy it and, if you already have a canvas, :menuselection:`Edit --> Paste into New Image` or :menuselection:`New --> Create from Clipboard`. Then, if you didn’t have a new canvas make one. I made an A5 300dpi canvas. This is not very big, but we’re only practicing. I also have the background color set to a yellow-grayish color (#CAC5B3), partly because it reminds me of paper, and partly because bright screen white can strain the eyes and make it difficult to focus on values and colors while painting. Also, due to the lack of strain on the eyes, you’ll find yourself soothed a bit. Other artists use #c0c0c0, or even more different values. So, if you go to :menuselection:`Window --> Tile`, you will find that now your reference image and your working canvas are side by side. The reason I am using this instead of the docker is because I am lazy and don’t feel like saving the wikipedia image. We’re not going to touch the image much. Let’s get to drawing! --------------------- .. image:: /images/making-azalea/Azelea_01_trunk-.png - :alt: starting with the trunk and reference image + :alt: Starting with the trunk and reference image. First we make a bunch of branches. I picked a slightly darker color here than usual, because I know that I’ll be painting over these branches with the lighter colors later on. Look at the reference how branches are formed. .. image:: /images/making-azalea/Azelea_02_drawing-flowers.png - :alt: making the outline of the flowers + :alt: Making the outline of the flowers. Then we make an approximation of a single flower on a layer. We make a few of these, all on separate layers. We also do not color pick the red, but we guess at it. This is good practice, so we can learn to analyze a color as well as how to use our color selector. If we’d only pick colors, it would be difficult to understand the relationship between them, so it’s best to attempt matching them by eye. .. image:: /images/making-azalea/Azelea_03_filling-flowers.png - :alt: coloring the details and filling the flowers + :alt: Coloring the details and filling the flowers. I chose to make the flower shape opaque quickly by using the *behind* blending mode. This’ll mean Krita is painting the new pixels behind the old ones. Very useful for quickly filling up shapes, just don’t forget to go back to *normal* once you’re done. .. image:: /images/making-azalea/Azelea_04_finished-setup.png - :alt: finished setup for making azalea + :alt: Finished setup for making azalea. Now, we’ll put the flowers in the upper left corner, and group them. You can group by making a group layer, and selecting the flower layers in your docker with the :kbd:`Ctrl +` |mouseleft| shortcut and dragging them into the group. The reason why we’re putting them in the upper left corner is because we’ll be selecting them a lot, and Krita allows you to select layers with the :kbd:`R +` |mouseleft| shortcut on the canvas quickly. Just hold the :kbd:`R` key and |mouseleft| the pixels belonging to the layer you want, and Krita will select the layer in the Layer docker. Clone Layers ------------ Now, we will make clusters. What we’ll be doing is that we select a given flower and then make a new clone layer. A clone layer is a layer that is literally a clone of the original. They can’t be edited themselves, but edit the original and the clone layer will follow suit. Clone Layers, and File layers, are our greatest friends when it comes to transform masks, and you’ll see why in a moment. .. image:: /images/making-azalea/Azelea_05_clonelayer.png - :alt: create clone layers of the flowers + :alt: Create clone layers of the flowers. You’ll quickly notice that our flowers are not good enough for a cluster: we need far more angles on the profile for example. If only there was a way to transform them… but we can’t do that with clone layers. Or can we? Enter Transform Masks! ---------------------- Transform Masks are a really powerful feature introduced in 2.9. They are in fact so powerful, that when you first use them, you can’t even begin to grasp where to use them. Transform masks allow us to do a transform operation onto a layer, any given layer, and have it be completely dynamic! This includes our clone layer flowers! How to use them: -|mouseright| the layer you want to do the transform on, and add a **Transform mask.** +|mouseright| the layer you want to do the transform on, and add a **Transform mask**. A transform mask should now have been added. You can recognize them by the little ‘scissor’ icon. .. image:: /images/making-azalea/Azelea_06_transformmask.png - :alt: adding transform masks to the cloned layers + :alt: Adding transform masks to the cloned layers. Now, with the transform mask selected, select the |tooltransform|, and rotate our clone layer. Apply the transform. You know you’re successful when you can hide the transform mask, and the layer goes back to its original state! You can even go and edit your transform! Just activate the |tooltransform| again while on a transform mask, and you will see the original transform so you can edit it. If you go to a different transform operation however, you will reset the transform completely, so watch out. .. image:: /images/making-azalea/Azelea_07_clusters.png - :alt: adding more clusters + :alt: Adding more clusters. We’ll be only using affine transformations in this tutorial (which are the regular and perspective transform), but this can also be done with warp, cage and liquify, which’ll have a bit of a delay (3 seconds to be precise). This is to prevent your computer from being over-occupied with these more complex transforms, so you can keep on painting. We continue on making our clusters till we have a nice arrangement. .. image:: /images/making-azalea/Azelea_08_leaves.png - :alt: making leaves + :alt: Making leaves. Now do the same thing for the leaves. .. image:: /images/making-azalea/Azelea_09_paintingoriginals.png - :alt: painting originals + :alt: Painting originals. Now, if you select the original paint layers and draw on them, you can see that all clone masks are immediately updated! Above you can see there’s been a new view added so we can focus on painting the flower and at the same time see how it’ll look. You can make a new view by going :menuselection:`Window --> New View` and selecting the name of your current canvas (save first!). Views can be rotated and mirrored differently. Now continue painting the original flowers and leaves, and we’ll move over to adding extra shadow to make it seem more lifelike! .. image:: /images/making-azalea/Azelea_10_alphainheritance_1.png - :alt: using the alpha inheritance + :alt: Using the alpha inheritance. We’re now going to use *Alpha Inheritance*. Alpha inheritance is an ill-understood concept, because a lot of programs use *clipping masks* instead, which clip the layer’s alpha using only the alpha of the first next layer. Alpha inheritance, however, uses all layers in a stack, so all the layers in the group that haven’t got alpha inheritance active themselves, or all the layers in the stack when the layer isn’t in a group. Because most people have an opaque layer at the bottom of their layer stack, alpha inheritance doesn’t seem to do much. But for us, alpha inheritance is useful, because we can use all clone-layers in a cluster (if you grouped them), transformed or not, for clipping. Just draw a light blue square over all the flowers in a given cluster. .. image:: /images/making-azalea/Azelea_11_alphainheritance_2.png - :alt: clipping the cluster with alpha inheritance + :alt: Clipping the cluster with alpha inheritance. Then press the last icon in the layer stack, the alpha-inherit button, to activate alpha-inheritance. .. image:: /images/making-azalea/Azelea_12_alphainheritance_3.png - :alt: activate alpha inheritance + :alt: Activate alpha inheritance. Set the layer to *multiply* then, so it’ll look like everything’s darker blue. .. image:: /images/making-azalea/Azelea_13_alphainheritance_4.png - :alt: multiplying the clipped shape + :alt: Multiplying the clipped shape. Then, with multiply and alpha inheritance on, use an eraser to remove the areas where there should be no shadow. .. image:: /images/making-azalea/Azelea_14_alphainheritance_5.png - :alt: remove extra areas with the eraser + :alt: Remove extra areas with the eraser. For the highlights use exactly the same method, AND exactly the same color, but instead set the layer to Divide (you can find this amongst the Arithmetic blending modes). Using Divide has exactly the opposite effect as using multiply with the same color. The benefit of this is that you can easily set up a complementary harmony in your shadows and highlights using these two. .. image:: /images/making-azalea/Azelea_15_alphainheritance_6.png - :alt: add shadows and highlights with alpha inheritance technique + :alt: Add shadows and highlights with alpha inheritance technique. Do this with all clusters and leaves, and maybe on the whole plant (you will first need to stick it into a group layer given the background is opaque) and you’re done! Transform masks can be used on paint layers, vector layers, group layers, clone layers and even file layers. I hope this tutorial has given you a nice idea on how to use them, and hope to see much more use of the transform masks in the future! You can get the file I made `here `_ to examine it further! (Caution: It will freeze up Krita if your version is below 2.9.4. The speed-ups in 2.9.4 are due to this file.) diff --git a/tutorials/saving-for-the-web.rst b/tutorials/saving-for-the-web.rst index 305763fa9..de200b11a 100644 --- a/tutorials/saving-for-the-web.rst +++ b/tutorials/saving-for-the-web.rst @@ -1,53 +1,53 @@ .. meta:: :description lang=en: - Tutorial for saving images for the web + Tutorial for saving images for the web. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _saving_for_the_web: ================== Saving For The Web ================== Krita's default saving format is the :ref:`file_kra` format. This format saves everything Krita can manipulate about an image: Layers, Filters, Assistants, Masks, Color spaces, etc. However, that's a lot of data, so ``*.kra`` files are pretty big. This doesn't make them very good for uploading to the internet. Imagine how many people's data-plans hit the limit if they only could look at ``*.kra`` files! So instead, we optimise our images for the web. There are a few steps involved: 1. Save as a ``.kra``. This is your working file and serves as a backup if you make any mistakes. 2. Flatten all layers. This turns all your layers into a single one. Just go to :menuselection:`Layer --> Flatten Image` or press the :kbd:`Ctrl + Shift + E` shortcut. Flattening can take a while, so if you have a big image, don't be scared if Krita freezes for a few seconds. It'll become responsive soon enough. 3. Convert the color space to 8bit sRGB (if it isn't yet). This is important to lower the filesize, and PNG for example can't take higher than 16bit. :menuselection:`Image --> Convert Image Color Space` and set the options to **RGB**, **8bit** and **sRGB-elle-v2-srgbtrc.icc** respectively. If you are coming from a linear space, uncheck **little CMS** optimisations 4. Resize! Go to :menuselection:`Image --> Scale Image To New Size` or use the :kbd:`Ctrl + Alt + I` shortcut. This calls up the resize menu. A good rule of thumb for resizing is that you try to get both sizes to be less than 1200 pixels. (This being the size of HD formats). You can easily get there by setting the **Resolution** under **Print Size** to **72** dots per inch. Then press **OK** to have everything resized. 5. Sharpen the image a little. This is especially necessary for social media. Social media websites often scale and convert your image in such a way that it gets a little blurry, because they optimize towards photos and not paintings. To have your images stay sharp, it is worth it to run a sharpen filter beforehand. Because the sharpen filter is quite powerful, you are best off adding a sharpen filter mask on top of the stack and lowering it's opacity till you feel the sharpness is appropriate. 6. Save as a web-safe image format. There's three that are especially recommended: JPG """ Use this for images with a lot of different colors, like paintings. PNG """ Use this for images with few colors or which are black and white, like comics and pixel-art. Select :guilabel:`Save as indexed PNG, if possible` to optimise even more. GIF """ Only use this for animation (will be supported this year) or images with a super low color count, because they will get indexed. Saving with Transparency ------------------------ .. image:: /images/Save_with_transparency.png Saving with transparency is only possible with gif and png. First, make sure you see the transparency checkers (this can be done by simply hiding the bottom layers, changing the projection color in :menuselection:`Image --> Image Background Color and Transparency`, or by using :menuselection:`Filters --> Colors --> Color to Alpha`). Then, save as PNG and tick **Store alpha channel (transparency)** Save your image, upload, and show it off! diff --git a/user_manual/animation.rst b/user_manual/animation.rst index f6b2f2eb1..525b7a0a1 100644 --- a/user_manual/animation.rst +++ b/user_manual/animation.rst @@ -1,302 +1,302 @@ .. 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 :guilabel:`New Frame` button in the :guilabel:`Animation` dock and click :guilabel:`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 --------- 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). 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/animation/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 '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 :guilabel:`Create`! Then, to get all the necessary tools for animation, select the workspace switcher: .. figure:: /images/animation/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/animation/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/animation/Introduction_to_animation_04.png Use the straight line tool to draw a single horizontal line. This is the ground. .. image:: /images/animation/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/animation/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 :guilabel:`New Frame`. .. image:: /images/animation/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/animation/Introduction_to_animation_08.png Use the :guilabel:`Copy Frame` button to copy the first frame onto the second. Then, use the with the :kbd:`Shift + ↑` shortcut to move the frame contents up. We can see the difference by turning on the onionskinning: .. image:: /images/animation/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/animation/Introduction_to_animation_10.png Future frames are drawn in green, and both colors can be configured in the onion skin docker. .. image:: /images/animation/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, ready to take the next step. Now, let's copy these two... We could do that with the :kbd:`Ctrl + drag` shortcut, but here comes a tricky bit: .. image:: /images/animation/Introduction_to_animation_12.png :kbd:`Ctrl +` |mouseleft| also selects and deselects frames, so to copy... - :kbd:`Ctrl +` |mouseleft| to select all the frames you want to select. - :kbd:`Ctrl + drag`. You need to make sure the first frame is 'orange', otherwise it won't be copied along. Now then... .. figure:: /images/animation/Introduction_to_animation_13.png :width: 580 - squashed the timeline docker a bit to save space + 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/animation/Introduction_to_animation_14.png You can quickly make some space by the :kbd:`Alt + drag` shortcut on 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/animation/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/animation/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/animation/Introduction_to_animation_17.png Our walkcycle is gone from the timeline 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/animation/Introduction_to_animation_18.png You can show any given layer in the timeline by doing |mouseright| on the layer in the layer docker, and toggling :guilabel:`Show in Timeline`. .. image:: /images/animation/Introduction_to_animation_19.png Exporting ~~~~~~~~~ When you are done, select :menuselection:`File --> Render Animation`. .. image:: /images/animation/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/animation/Introduction_to_animation_21.png When pressing done, you can see the status of the export in the status bar below. .. image:: /images/animation/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, OSX, Windows), or any other gif creator to make a gif out of your image sequence: .. image:: /images/animation/Introduction_to_animation_walkcycle_02.gif For example, you can use `VirtualDub `_\ (Windows) and open all the frames and then go to :menuselection:`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/animation/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/animation/Animation_import_sprites.png You can select multiple images at once. .. image:: /images/animation/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 :guilabel:`OK`, and your animation should be imported as a new layer. .. image:: /images/animation/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/autosave.rst b/user_manual/autosave.rst index 863738d60..ee1e7ac3d 100644 --- a/user_manual/autosave.rst +++ b/user_manual/autosave.rst @@ -1,142 +1,142 @@ .. meta:: :description: - How AutoSave and Backup Files Work in Krita + How AutoSave and Backup Files Work in Krita. .. metadata-placeholder :authors: - Boudewijn Rempt :license: GNU free documentation license 1.3 or later. .. index:: ! Saving, Autosave, Backup .. _autosave: ================================= Saving, AutoSave and Backup Files ================================= Krita does its best to keep your work safe. But if you want to make sure that you won't lose work, you will need to understand how Saving, AutoSave and Backup Files work in Krita. Saving ------ Krita does not store your images somewhere without your intervention. You need to save your work, or it will be lost, irretrievably. Krita can save your images in many formats. You should always save your work in Krita's native format, ``.kra`` because that supports all Krita's features. Additionally, you can export your work to other formats, for compatibility with other applications or publication on the Web or on paper. Krita will warn which aspects of your work are going to be lost when you save to another format than ``.kra`` and offers to make a ``.kra`` file for you as well. If you save your work, Krita will ask you where it should save on your computer. By default, this is the Pictures folder in your User folder: this is true for all operating systems. If you use "Save As" your image will be saved under a new name. The original file under its own name will not be deleted. From now on, your file will be saved under the new name. If you use "Export" using a new filename, a new file will be created with a new name. The file you have open will keep the new name, and the next time you save it, it will be saved under the old name. You can Save, Save As and Export to any file format. See also :ref:`Saving for the Web ` AutoSave -------- AutoSave is what happens when you've worked for a bit and not saved your work yourself: Krita will save your work for you. Autosave files are by default hidden in your file manager. You can configure Krita 4.2 and up to create autosave files that are visible in your file manager. By default, Krita autosaves every fifteen minutes; you can configure that in the File tab of the General Settings page of the Configure Krita dialog, which is in the Settings menu (Linux, Windows) or in the Application menu (macOS). If you close Krita without saving, your unsaved work is lost and cannot be retrieved. Closing Krita normally also means that autosave files are removed. .. image:: /images/file_config_page.png There are two possibilities: - You hadn't saved your work at all - You had saved your work already AutoSave for Unsaved Files ~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you had not yet saved your work, Krita will create an unnamed AutoSave file. If you're using Linux or macOS, the AutoSave file will be a hidden file in your home directory. If you're using Windows, the AutoSave file will be a file in your user's ``%TEMP%`` folder. In Krita 4.2 and up, you can configure Krita to make the AutoSave files visible by default. A hidden autosave file will be named like ``.krita-12549-document_1-autosave.kra`` If Krita crashes before you had saved your file, then the next time you start Krita, you will see the file in a dialog that shows up as soon as Krita starts. You can select to restore the files, or to delete them. .. image:: /images/autosave_unnamed_restore.png If Krita crashed, and you're on Windows and your ``%TEMP%`` folder gets cleared, you will have lost your work. Windows does not clear the ``%TEMP%`` folder by default, but you can enable this feature in Settings. Applications like Disk Cleanup or cCleaner will also clear the ``%TEMP%`` folder. Again, if Krita crashes, and you haven't saved your work, and you have something enabled that clear your ``%TEMP%`` folder, you will have lost your work. If Krita doesn't crash, and you close Krita without saving your work, Krita will remove the AutoSave file: your work will be gone and cannot be retrieved. If you save your work and continue, or close Krita and do save your work, the AutoSave file will be removed. AutoSave for Saved Files ~~~~~~~~~~~~~~~~~~~~~~~~ If you had already saved your work, Krita will create a named AutoSave file. A hidden named autosave file will look like ``.myimage.kra-autosave.kra``. By default, named AutoSave files are hidden. Named AutoSave files are placed in the same folder as the file you were working on. If you start Krita again after it crashed and try to open your original file, Krita will ask you whether to open the AutoSave file instead: .. image:: /images/autosave_named_restore.png If you choose "no", the AutoSave file will be removed. The work that has been done since the last time you saved your file yourself will be lost and cannot be retrieved. If you choose "yes", the AutoSave file will be opened, then removed. The file you have open will have the name of your original file. The file will be set to Modified, so the next time you try to close Krita, Krita will ask you whether you want to save the file. If you choose No, your work is irretrievably gone. It cannot be restored. If you use "Save As" your image will be saved under a new name. The original file under its own name and its AutoSave file are not deleted. From now on, your file will be saved under the new name; if you save again, an AutoSave file will be created using the new filename. If you use "Export" using a new filename, a new file will be created with a new name. The file you have open will keep the new name, and the next time you save it, the AutoSave file will be created from the last file saved with the current name, that is, not the name you choose for "Export". Backup Files ------------ There are three kinds of Backup files - Ordinary Backup files that are created when you save a file that has been opened from disk - Incremental Backup files that are copies of the file as it is on disk to a numbered backup, and while your file is saved under the current name - Incremental Version files that are saves of the file you are working on with a new number, leaving alone the existing files on disk. Ordinary Backup Files ~~~~~~~~~~~~~~~~~~~~~ If you have opened a file, made changes, then save it, or save a new file after the first time you've saved it, Krita will save a backup of your file. You can disable this mechanism in the File tab of the General Settings page of the Configure Krita dialog, which is in the Settings menu (Linux, Windows) or in the Application menu (macOS). By default, Backup files are enabled. .. image:: /images/file_config_page.png By default, a Backup file will be in the same folder as your original file. You can also choose to save Backup files in the User folder or the ``%TEMP%`` folder; this is not as safe because if you edit two files with the same name in two different folders, their backups will overwrite each other. By default, a Backup file will have ``~`` as a suffix, to distinguish it from an ordinary file. If you are using Windows, you will have to enable "show file extensions" in Windows Explorer to see the extension. .. image:: /images/file_and_backup_file.png If you want to open the Backup file, you will have to rename it in your file manager. Make sure the extension ends with ``.kra``. Every time you save your file, the last version without a ``~`` suffix will be copied to the version with the ``~`` suffix. The contents of the original file will be gone: it will not be possible to restore that version. Incremental Backup Files ~~~~~~~~~~~~~~~~~~~~~~~~ Incremental Backup files are similar to ordinary Backup files: the last saved state is copied to another file just before saving. However, instead of overwriting the Backup file, the Backup files are numbered: .. image:: /images/save_incremental_backup.png Use this when you want to keep various known good states of your image throughout your painting process. This takes more disk space, of course. Do not be confused: Krita does not save the current state of your work to the latest Incremental file, but copies the last saved file to the Backup file and then saves your image under the original filename. Incremental Version Files ~~~~~~~~~~~~~~~~~~~~~~~~~ Incremental Version works a bit like Incremental Backup, but it leaves the original files alone. Instead, it will save a new file with a file number: .. image:: /images/save_incremental_version.png diff --git a/user_manual/getting_started/basic_concepts.rst b/user_manual/getting_started/basic_concepts.rst index 3df456763..898862d42 100644 --- a/user_manual/getting_started/basic_concepts.rst +++ b/user_manual/getting_started/basic_concepts.rst @@ -1,381 +1,381 @@ .. meta:: :description lang=en: An overview of the basic concepts of Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Irina Rempt - Tokiedian - AnetK - JakeD - Yuri Chornoivan :license: GNU free documentation license 1.3 or later. .. index:: Basic Concepts, Color, Tools, View, Window, Filters, Transform, Grid, Guides, Layers, Masks, Vector .. _basic_concepts: ============== Basic Concepts ============== If this is your first foray into digital painting, this page should give you a brief introduction to the basic but important concepts required for getting started with digital painting in Krita. Although very lengthy, this page tries to give a brief overview of some of the Krita's most important functionality; it tries to help you grasp the functions of various menu and buttons in Krita without going into minute details. .. contents:: Raster and Vector ----------------- Even though Krita is regarded primarily a raster based application, it has some vector editing capabilities as well. If you are new to digital painting medium, it is necessary that you first get yourself acquainted with the concepts of raster and :ref:`Vector ` based images. In digital imaging, a pixel (Picture Element) is a basic and lowest element of an Image. It is basically a grid of points each displaying specific color. Raster editing is manipulating and editing these pixels. For example when you take a 1-pixel brush which is colored black and painting on the white canvas in Krita you are actually changing the color of the pixel beneath your brush from white to black. When you zoom in and see a brush stroke you can notice many small squares with colors, these are pixels: .. image:: /images/Pixels-brushstroke.png :align: center In contrast to raster images, vector graphic images are based on mathematical expressions. They are independent of the pixels. For example, when you draw a rectangle on a :ref:`vector layer ` in Krita you are actually drawing paths passing through points that are called nodes, which are located on specific coordinates on the 'x' and 'y' axes. When you re-size or move these points the computer calculates and redraws the path and displays the newly formed shape to you. Hence you can re-size the vector shape to any extent without any loss in quality. In Krita, everything which is not on a vector layer is raster based. Images, Views and Windows ------------------------- In a painting program, there are three major containers that make up your work-space. Image ~~~~~ The most important one is the **Image**. This is an individual copy of the image that you can open or create via the file dialog. Krita allows you to open the file as a new copy via the :guilabel:`File` menu, or to save it as a new file, or make an incremental copy. An image contains data regarding layers, color space of image and layers, canvas size and metadata such as creator, date created and DPI et cetera. Krita can open multiple images at once, you can switch between them via the :guilabel:`Window` menu. Because the image is a working copy of the image on the hard drive, you can do a lot of little saving tricks with it: New Makes a new image. When you press :menuselection:`Save`, you make a new file on the hard drive. Open Makes an internal copy of an existing image. When you press :menuselection:`Save`, you will overwrite the original existing image with your working copy. Open the existing Document as Untitled Document Similar to :menuselection:`Open`, however, :menuselection:`Save` will request you to specify a saving location: you're making a new copy. This is similar to :menuselection:`Import` in other programs. Create Copy From Current Image Similar to :menuselection:`Open existing Document as Untitled Document` but with the currently selected image. Save incremental Allows you to quickly make a snapshot of the current image by making a new file with a version number added to it. These options are great for people doing production work, who need to switch between files quickly or have backup files in case they do something extreme. Krita also has a file backup system in the form of auto-saves, backup files and crash recovery. You can configure the option for these features in the general settings. You view the image via a **View**. View ~~~~ A view is a window onto your image. Krita allows you to have multiple views, and you can manipulate the view to zoom, rotate and mirror and modify the color of the way you see an image without editing the image itself. This is very useful for artists, as changing the way they view the image is a common way to diagnose some common mistakes, like a drawing which is skewed towards one side. Mirroring with the :kbd:`M` key makes such skewing easy to identify. If you have trouble drawing certain curves you will enjoy using rotation for drawing, and of course, there is zooming in and out for precision and rough work. .. figure:: /images/Krita_multiple_views.png :align: center Multiple views of the same image in Krita Multiple views are possible in Krita via :menuselection:`Window --> New view --> image name`. You can switch between them via the :guilabel:`Window` menu, or the :kbd:`Ctrl + Tab` shortcut, or keep them in the same area when **subwindow** mode is active in the :ref:`settings `, via :menuselection:`Window --> Tile`. Dockers ~~~~~~~ Dockers are little subwindows in :ref:`Krita's interface `. They contain useful tools, like the color selector, layer stack, tool options, et cetera. .. image:: /images/dockers/Dockers.png :align: center The image above shows some of the dockers in Krita. All the views and the dockers are held inside **Windows**. Window ~~~~~~ If you've used a computer before, you know what windows are: They are big containers for your computer programs. Krita allows you to have multiple windows via :menuselection:`Window --> New Window`. You can then drag this to another monitor for multi-monitor use. The image below shows an example of multiple windows in Krita. .. image:: /images/Multi-window.png :align: center Canvas in Krita --------------- When you create a new document in Krita for the first time you will see a rectangular white area. This is called a canvas. You can see it in the image below. The area marked by a red rectangle is a canvas. .. image:: /images/Canvas-krita.png :align: center When you save the painting as jpg, png et cetera or take a print out of the painting, only the content inside this area is taken into consideration. Anything beyond it is ignored. Krita does store information beyond this area, you just won't be able to see it. This data is stored in the **Layers**. Layers and Compositing ---------------------- Like a landscape painter will first paint the sky and then the furthest away elements before slowly working his way to the foreground elements, computers will do the same with all the things you tell them to draw. So, if you tell them to draw a circle after a square on the same spot, the circle will always be drawn later. This is called the **Drawing Order**. The layer stack is a way for you to separate elements of a drawing and manipulate the drawing order by showing you which layers are drawn when and allowing you to change the order they are drawn in and also apply all sorts of other effects. This is called **Compositing**. This allows you to have line art above the colors, or trees before the mountains, and edit each without affecting the other. Krita has many layer-types, each layer type is unique and has its own usecase: :ref:`paint_layers` These are raster layers, and the most common and default layer type in Krita, you will be painting on these. :ref:`vector_layers` This is a layer type on which you draw vector graphics. Vector graphics are typically more simple than raster graphics and with the benefit that you can deform them with less blurriness. :ref:`group_layers` These allow you to group several layers via drag and drop, so you can organize, move, apply masks and perform other actions on them together. :ref:`clone_layers` These are copies of the layer you selected when making them. They get updated automatically when changing the original. :ref:`file_layers` These refer to an existing image outside of Krita and update as soon as the outside image updates. Useful for logos and emblems that change a lot. :ref:`fill_layers` These layers are filled with something that Krita can make up on the fly, like colors or patterns. :ref:`filter_layers` These layers help us to apply some filters which will affect a composite image made from all the layers beneath them. You can manipulate the content of the layers with **Tools**. Tools ----- Tools help you manipulate the image data. The most common one is of course, the freehand brush, which is the default when you open Krita. There are roughly five types of tools in Krita: Paint Tools These are tools for painting on paint layers. They describe shapes, like rectangles, circles and straight lines, but also freehand paths. These shapes then get used by the Brush engines to make shapes and drawing effects. Vector Tools This is the upper row of tools, which are used to edit vectors. Interestingly enough, all paint tools except the freehand brush allow you to draw shapes on the vector layers. The resulting object won't use the brush preset for outline unlike the ones made with paint tools on normal layer. Selection Tools Selections allow you to edit a very specific area of the layer you are working on without affecting the others. The selection tools allow you to draw or modify the current selection. This is like using masking-fluids in traditional painting method, but whereas using masking fluids and film is often messy and delicate, selections are far easier to use. Guide Tools These are tools like grids and assistants. Transform Tools These are tools that allow you to transform your layer or object on the canvas. All tools can be found in the toolbox, and information about individual tools can be found in the :ref:`tools ` section of the manual. Brush Engines ------------- Brush engines, as mentioned before, take a path and tablet information and add effects to it, making a stroke. Engine is a term Krita developers use to describe a complex interacting set of code, that is the core for certain functionality and is highly configurable. In short, like the engine of your car drives your car, and the type of engine and its configuration affects how you use your car, the brush engine drives the look and feel of the brush, and different brush engines have different results. Krita has :ref:`a LOT of different brush engines `, all with different effects. .. figure:: /images/brushes/Krita_example_differentbrushengines.png :align: center - **Left:** pixel brush, **Center:** color smudge brush, **Right:** sketch brush + **Left:** pixel brush, **Center:** color smudge brush, **Right:** sketch brush. For example, the pixel-brush engine is simple and allows you to do most of your basic work, but if you do a lot of painting, the color smudge brush engine might be more useful. Even though it's slower to use than the Pixel Brush engine, its mixing of colors allows you to work faster when you need to blend and mix colors. If you want something totally different from that, the sketch brush engine helps with making messy lines, and the shape brush engine allows you to make big flats quickly. There are a lot of cool effects inside Krita's brush engines, so try them all out, and be sure to check the chapters on each. You can configure these effects via the Brush Settings drop-down, which can be quickly accessed via the :kbd:`F5` key. These configurations can then be saved into presets, which you can quickly access with the :kbd:`F6` key or the Brush Presets docker. Brushes draw with colors, but how do computers understand colors? Colors ------ Humans can see a few million colors, which are combinations of electromagnetic waves (light) bouncing off a surface, where the surface absorbs some of it. .. figure:: /images/Krita_basics_primaries.png :align: center - Subtractive CMY colors on the left and additive RGB colors on the right. This difference means that printers benefit from color conversion before printing + Subtractive CMY colors on the left and additive RGB colors on the right. This difference means that printers benefit from color conversion before printing. When painting traditionally, we use pigments which also absorb the right light-waves for the color we want it to have, but the more pigments you combine, the more light is absorbed, leading to a kind of murky black. This is why we call the mixing of paints **subtractive**, as it subtracts light the more pigments you put together. Because of that, in traditional pigment mixing, our most efficient primaries are three fairly light colors: Cyan blue and Magenta red and Yellow (CMY). A computer also uses three primaries and uses a specific amount of each primary in a color as the way it stores color. However, a computer is a screen that emits light. So it makes more light, which means it needs to do **additive** mixing, where adding more and more colored lights result in white. This is why the three most efficient primaries, as used by computers are Red, Green and Blue (RGB). Per pixel, a computer then stores the value of each of these primaries, with the maximum depending on the bit-depth. These are called the **components** or **channels** depending on who you talk to. .. figure:: /images/Krita_basic_channel_rose.png :align: left This is the red-channel of an image of a red rose. As you can see, the petals are white here, indicating that those areas contain full red. The leaves are much darker, indicating a lack of red, which is to be expected, as they are green. Though by default computers use RGB, they can also convert to CMYK (the subtractive model), or a perceptual model like LAB. In all cases this is just a different way of indicating how the colors relate to each other, and each time it usually has 3 components. The exception here is grayscale, because the computer only needs to remember how white a color is. This is why grayscale is more efficient memory-wise. In fact, if you look at each channel separately, they also look like grayscale images, but instead white just means how much Red, Green or Blue there is. Krita has a very complex color management system, which you can read more about :ref:`here `. Transparency ~~~~~~~~~~~~ Just like Red, Green and Blue, the computer can also store how transparent a pixel is. This is important for **compositing** as mentioned before. After all, there's no point in having multiple layers if you can't have transparency. Transparency is stored in the same way as colors, meaning that it's also a channel. We usually call this channel the **alpha channel** or **alpha** for short. The reason behind this is that the letter 'α' is used to represent it in programming. Some older programs don't always have transparency by default. Krita is the opposite: it doesn't understand images that don't track transparency, and will always add a transparency channel to images. When a given pixel is completely transparent on all layers, Krita will instead show a checkerboard pattern, like the rose image shown above. Blending modes ~~~~~~~~~~~~~~ Because colors are stored as numbers you can do maths with them. We call this **Blending Modes** or **Compositing Modes**. Blending modes can be done per layer or per brush stroke, and thus are also part of the compositing of layers. Multiply A commonly used blending mode is for example :menuselection:`Multiply` which multiplies the components, leading to darker colors. This allows you to simulate the subtractive mixing, and thus makes painting shadows much easier. Addition Another common one is :menuselection:`Addition`, which adds one layer's components to the other, making it perfect for special glow effects. Erasing :menuselection:`Erasing` is a blending mode in Krita. There is no eraser tool, but you can toggle on the brush quickly with the :kbd:`E` key to become an eraser. You can also use it on layers. Unlike the other blending modes, this one only affects the alpha channel, making things more transparent. Normal The :menuselection:`Normal` blend mode just averages between colors depending on how transparent the topmost color is. Krita has 76 blending modes, each doing slightly different things. Head over to the :ref:`blending_modes` to learn more. Because we can see channels as grayscale images, we can convert grayscale images into channels. Like for example, we can use a grayscale image for the transparency. We call these **Masks**. Masks ----- Masks are a type of sub-effect applied to a layer, usually driven by a grayscale image. The primary types of mask are :ref:`transparency_masks`, which allow you to use a grayscale image to determine transparency, where black makes everything transparent and white makes the pixel fully opaque. You can paint on masks with any of the brushes, or convert a normal paint-layer to a mask. The big benefit of masks is that you can make things transparent without removing the underlying pixels. Furthermore, you can use masks to reveal or hide a whole group layer at once! For example, we have a white ghost lady here: .. image:: /images/Krita_ghostlady_1.png :align: center But you can't really tell whether she's a ghost lady or just really really white. If only we could give the idea that she floats. We right-click the layer and add a transparency mask. Then, we select that mask and draw with a black and white linear gradient so that the black is below. .. image:: /images/Krita_ghostlady_2.png :align: center Wherever the black is, there the lady now becomes transparent, turning her into a real ghost! The name mask comes from traditional masking fluid and film. You may recall the earlier comparison of selections to traditional masking fluid. Selections too are stored internally as grayscale images, and you can save them as a local selection which is kind of like a mask, or convert them to a transparency mask. Filters ------- We mentioned earlier that you can do maths with colors. But you can also do maths with pixels, or groups of pixels or whole layers. In fact, you can make Krita do all sorts of little operations on layers. We call these operations **Filters**. Examples of such operations are: Desaturate This makes all the pixels turn gray. Blur This averages the pixels with their neighbors, which removes sharp contrasts and makes the whole image look blurry. Sharpen This increases the contrast between pixels that had a pretty high contrast to begin with. Color to Alpha A popular filter which makes all of the chosen color transparent. .. figure:: /images/Krita_basic_filter_brush.png :align: right Different filter brushes being used on different parts of the image. Krita has many more filters available: you can read about them :ref:`here `. :ref:`filter_brush_engine` ~~~~~~~~~~~~~~~~~~~~~~~~~~ Because many of these operations are per pixel, Krita allows you to use the filter as part of the :ref:`filter_brush_engine`. In most image manipulation software, these are separate tools, but Krita has it as a brush engine, allowing much more customization than usual. This means you can make a brush that desaturates pixels, or a brush that changes the hue of the pixels underneath. Filter Layers, Filter Masks and Layer Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Krita also allows you to let the Filters be part of the layer stack, via :ref:`filter_layers` and :ref:`filter_masks`. Filter Layers affect all the layers underneath it in the same hierarchy. Transparency and transparency masks on Filter Layers affect where the layer is applied. Masks, on the other hand, can affect one single layer and are driven by a grayscale image. They will also affect all layers in a group, much like a transparency mask. We can use these filters to make our ghost lady look even more ethereal, by selecting the ghost lady's layer, and then creating a clone layer. We then right click and add a filter mask and use gaussian blur set to 10 or so pixels. The clone layer is then put behind the original layer, and set to the blending mode '**Color Dodge**', giving her a definite spooky glow. You can keep on painting on the original layer and everything will get updated automatically! .. image:: /images/Krita_ghostlady_3.png :align: center Layer Effects or Layer Styles are filter masks popularised by :program:`Photoshop's` that are a little faster than regular masks, but not as versatile. They are available by right clicking a layer and selecting 'layer style'. Transformations --------------- **Transformations** are kind of like filters, in that these are operations done on the pixels of an image. We have a regular image and layer wide transformations in the image and layer top menus, so that you may resize, flip and rotate the whole image. We also have the :ref:`crop_tool`, which only affects the canvas size, and the :ref:`move_tool` which only moves a given layer. However, if you want more control, Krita offers a :ref:`transform_tool`. .. image:: /images/tools/Krita_transforms_free.png :align: center With this tool you can rotate and resize on the canvas, or put it in perspective. Or you can use advanced transform tools, like the warp, cage and liquify, which allow you to transform by drawing custom points or even by pretending it's a transforming brush. :ref:`deform_brush_engine` ~~~~~~~~~~~~~~~~~~~~~~~~~~ Like the filter brush engine, Krita also has a Deform Brush Engine, which allows you to transform with a brush. The deform is like a much faster version of the Liquify transform tool mode, but in exchange, its results are of much lower quality. .. figure:: /images/tools/Krita_transforms_deformvsliquefy.png :align: center Apple transformed into a pear with liquify on the left and deform brush on the right. Furthermore, you can't apply the deform brush as a non-destructive mask. :ref:`transformation_masks` ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Like filters, transforms can be applied as a non-destructive operation that is part of the layer stack. Unlike filter and transparency masks however, transform masks can't be driven by a grayscale image, for technical reasons. You can use transform masks to deform clone and file layers as well. :ref:`animation` ---------------- .. image:: /images/animation/Introduction_to_animation_walkcycle_02.gif :align: center From version 3.0 onwards, Krita got raster animation support. You can use the timeline, animation and onionskin dockers, plus Krita's amazing variety of brushes to do raster based animations, export those, and then turn them into movies or gifs. Assistants, Grids and Guides ---------------------------- With all this technical stuff, you might forget that Krita is a painting program. Like how when working with traditional medium, as an illustrator, you can have all sorts of equipment to make drawing easier, Krita also offers a variety of tools: .. figure:: /images/assistants/Krita_basic_assistants.png :align: center - Krita's vanishing point assistants in action + Krita's vanishing point assistants in action. :ref:`grids_and_guides_docker` A very straightforward guiding tool which shows grids or guiding lines that can be configured. :ref:`snapping` You can snap to all sorts of things. Grids, guides, extensions, orthogonals, image centers and bounding boxes. :ref:`painting_with_assistants` Because you can hardly put a ruler against your tablet to help you draw, the assistants are there to help you draw concentric circles, perspectives, parallel lines and other easily forgotten but tricky to draw details. Krita allows you to snap to these via the tool options as well. These guides are saved into Krita's native format, which means you can pick up your work easily afterward. Customization ------------- This leads to the final concept: customization. In addition to rearranging the dockers according to your preferences, Krita provides and saves your configurations as :ref:`resource_workspaces`. This is the button at the top right. You can also configure the toolbar via :menuselection:`Settings --> Configure Toolbars`, as well as the shortcuts under both :menuselection:`Settings --> Configure Krita --> Configure Shortcuts` and :menuselection:`Settings --> Configure Krita --> Canvas Input Settings`. diff --git a/user_manual/getting_started/installation.rst b/user_manual/getting_started/installation.rst index a29b43874..7da52683b 100644 --- a/user_manual/getting_started/installation.rst +++ b/user_manual/getting_started/installation.rst @@ -1,185 +1,185 @@ .. meta:: :description: - Detailed steps on how to install Krita + 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 Krita from the website, the Windows Store, or Steam. The versions on the Store and Steam cost money, but are `functionally identical `_ to the (free) website version. Unlike the website version, however, both paid versions get automatic updates when new versions of Krita comes out. After deduction of the Store fee, the purchase cost supports Krita development. Website: The latest version is always on our `website `_. The page will try to automatically recommend the correct architecture (64- or 32-bit), but you can select "All Download Versions" to get more choices. To determine your computer architecture manually, go to :menuselection:`Settings --> About`. Your architecture will be listed as the :guilabel:`System Type` in the :guilabel:`Device Specifications` section. Krita by default downloads an **installer EXE**, but you can also download a **portable zip-file** version instead. Unlike the installer version, this portable version does not show previews in Windows Explorer automatically. To get these previews with the portable version, also install Krita's **Windows Shell Extension** extension (available on the download page). These files are also available from the `KDE download directory `_. Windows Store: For a small fee, you can download Krita `from the Windows Store `_. This version requires Windows 10. Steam: For a small fee, you can also download Krita `from Steam `_. To download a portable version of Krita go to the `KDE `_ download directory and get the zip-file instead of the setup.exe installer. .. note:: Krita requires Windows 7 or newer. The Store version requires Windows 10. Linux ----- Many Linux distributions package the latest version of Krita. Sometimes you will have to enable an extra repository. Krita runs fine under most desktop enviroments such as KDE, Gnome, LXDE, Xfce etc. -- 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 +depending on your distributions. Nautilus/Nemo file extensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since April 2016, KDE's Dolphin file manager 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. **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: :: chmod a+x krita-3.0-x86_64.appimage - Run Krita! :: ./krita-3.0-x86_64.appimage Appimages are ISOs with all the necessary libraries bundled inside, that means 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 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, flatpak or the snap available from Ubuntu's app store. We also maintain a ppa for getting latest builds of Krita, you can read more about the ppa and install instructions `here `_. OpenSUSE ~~~~~~~~ The latest stable builds are available from KDE:Extra repo: - https://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, 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 also find Krita pkgbuild in arch user repositories but it is not guaranteed to contain the latest git version. OS X ---- You can download the latest binary from our `website `__. The binaries work only with Mac OSX version 10.12 and newer. 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 it 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 some 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 guide :ref:`here `. 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/introduction_from_other_software/introduction_from_sai.rst b/user_manual/introduction_from_other_software/introduction_from_sai.rst index 8cda422e0..04f8c21aa 100644 --- a/user_manual/introduction_from_other_software/introduction_from_sai.rst +++ b/user_manual/introduction_from_other_software/introduction_from_sai.rst @@ -1,218 +1,218 @@ .. meta:: :description: This is a introduction to Krita for users coming from Paint Tool 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 Paint Tool 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` key to flip. Rotate There's a couple of possibilities here: either the :kbd:`4` and :kbd:`6` keys, or the :kbd:`Ctrl + [` and :kbd:`Ctrl + ]` shortcuts for basic 15 degrees rotation left and right. But you can also have more sophisticated rotation with the :kbd:`Shift + Space + drag` or :kbd:`Shift +` |mousemiddle| :kbd:`+ drag` shortcuts. To reset the rotation, press the :kbd:`5` key. Zoom You can use the :kbd:`+` and :kbd:`-` keys to zoom out and in, or use the :kbd:`Ctrl +` |mousemiddle| shortcut. Use the :kbd:`1`, :kbd:`2` or :kbd:`3` keys 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 :guilabel:`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 + 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| shortcut before :guilabel:`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 :guilabel:`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 :guilabel:`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 :guilabel:`Save transparency` and to make the background color white (it's black by default). .. image:: /images/filters/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 the :kbd:`F5` key. 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 :guilabel:`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 the :kbd:`E` key 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 (called Shine in Sai2) is the same as Krita's *Luminosity/Shine (SAI)* mode, which is new in Krita 4.2.4. The Sai's 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 the :kbd:`Ctrl + Shift + G` shortcut. 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 Paint Tool 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 the :kbd:`Del` key. 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/dockers/Krita_Color_Selector_Types.png :align: center You can call the color history with the :kbd:`H` key, common colors with the :kbd:`U` key and the two shade selectors with the :kbd:`Shift + N` and :kbd:`Shift + M` shortcuts. The big selector can be called with the :kbd:`Shift + I` shortcut 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/tools/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/assistants/Krita_basic_assistants.png - :alt: Krita's vanishing point assistants in action + :alt: Krita's vanishing point assistants in action. :width: 800 - Krita's vanishing point assistants in action + 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 the :kbd:`R` key 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/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/tools/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/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/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) * 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/painting_with_assistants.rst b/user_manual/painting_with_assistants.rst index bad5009ae..88b5414b5 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 :guilabel:`Snap to Assistants` to turn on snapping. .. figure:: /images/assistants/Krita_basic_assistants.png - :alt: Krita's vanishing point assistants in action + :alt: Krita's vanishing point assistants in action. :width: 800 - Krita's vanishing point assistants in action + Krita's vanishing point assistants in action. The following assistants are available in Krita: 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 the :kbd:`Shift` key while holding the first two handles, they will snap to perfectly horizontal or vertical lines. Press the :kbd:`Shift` key 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 the :kbd:`Shift` key 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 the :kbd:`Shift` key 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 the :kbd:`Shift` key while holding the first two handles, they will snap to perfectly horizontal or vertical lines. Press the :kbd:`Shift` key 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 the :kbd:`Shift` key 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 the :kbd:`Shift` key while holding the first two handles, they will snap to perfectly horizontal or vertical lines. Press the :kbd:`Shift` key 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/assistants/Assistants_oblique.png Oblique For oblique, set two parallel rulers to horizontal and vertical, and one to an angle, representing depth. .. image:: /images/assistants/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/assistants/Assistants_trimetric.png Trimetric Is when all the angles are slightly different. Often looks like a slightly angled isometric. Linear Perspective ~~~~~~~~~~~~~~~~~~ .. image:: /images/assistants/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/assistants/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/assistants/Assistants_2_pointperspective_02.png .. image:: /images/assistants/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/assistants/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/assistants/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/assistants/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. 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/assistants/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/assistants/Assistants_fish-eye_2_02.png diff --git a/user_manual/python_scripting/krita_python_plugin_howto.rst b/user_manual/python_scripting/krita_python_plugin_howto.rst index a9cb04e80..f7f75bdd6 100644 --- a/user_manual/python_scripting/krita_python_plugin_howto.rst +++ b/user_manual/python_scripting/krita_python_plugin_howto.rst @@ -1,363 +1,363 @@ .. meta:: :description: Guide on all the specifics of creating Krita python plugins. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - BrendanD - Scott Petrovic - Boudewijn Rempt - TPaulssen :license: GNU free documentation license 1.3 or later. .. index:: Python, Python Scripting, Scripting, Plugin .. _krita_python_plugin_howto: ================================= How to make a Krita Python plugin ================================= You might have some neat scripts you have written in the Scripter Python runner, but maybe you want to do more with it and run it automatically for instance. Wrapping your script in a plugin can give you much more flexibility and power than running scripts from the Scripter editor. Okay, so even if you know python really well, there are some little details to getting Krita to recognize a python plugin. So this page will give an overview how to create the various types of python script unique to Krita. These mini-tutorials are written for people with a basic understanding of python, and in such a way to encourage experimentation instead of plainly copy and pasting code, so read the text carefully. Getting Krita to recognize your plugin -------------------------------------- A script in Krita has two components - the script directory (holding your script's Python files) and a ".desktop" file that Krita uses to load and register your script. For Krita to load your script both of these must put be in the pykrita subdirectory of your Krita resources folder (on Linux ~/.local/share/krita/pykrita). To find your resources folder start Krita and click the :menuselection:`Settings --> Manage Resources` menu item. This will open a dialog box. Click the :guilabel:`Open Resources Folder` button. This should open a file manager on your system at your Krita resources folder. See the `API `_ docs under "Auto starting scripts". If there is no pykrita subfolder in the Krita resources directory use your file manager to create one. Scripts are identified by a file that ends in a .desktop extension that contain information about the script itself. Therefore, for each proper plugin you will need to create a folder, and a desktop file. The desktop file should look as follows:: [Desktop Entry] Type=Service ServiceTypes=Krita/PythonPlugin X-KDE-Library=myplugin X-Python-2-Compatible=false X-Krita-Manual=myPluginManual.html Name=My Own Plugin Comment=Our very own plugin. Type This should always be service. ServiceTypes This should always be Krita/PythonPlugin for python plugins. X-KDE-Library This should be the name of the plugin folder you just created. X-Python-2-Compatible Whether it is python 2 compatible. If Krita was built with python 2 instead of 3 (``-DENABLE_PYTHON_2=ON`` in the cmake configuration), then this plugin will not show up in the list. X-Krita-Manual An Optional Value that will point to the manual item. This is shown in the Python Plugin manager. If it's `an HTML file it'll be shown as rich text `_, if not, it'll be shown as plain text. Name The name that will show up in the Python Plugin Manager. Comment The description that will show up in the Python Plugin Manager. Krita python plugins need to be python modules, so make sure there's an __init__.py script, containing something like... .. code:: python from .myplugin import * Where .myplugin is the name of the main file of your plugin. If you restart Krita, it now should show this in the Python Plugin Manager in the settings, but it will be grayed out, because there's no myplugin.py. If you hover over disabled plugins, you can see the error with them. .. note:: You need to explicitly enable your plugin. Go to the Settings menu, open the Configure Krita dialog and go to the Python Plugin Manager page and enable your plugin. Summary ^^^^^^^ In summary, if you want to create a script called *myplugin*: - in your Krita *resources/pykrita* directory create - a folder called *myplugin* - a file called *myplugin.desktop* - in the *myplugin* folder create - a file called *__init__.py* - a file called *myplugin.py* - in the *__init__.py* file put this code: .. code:: python from .myplugin import * - in the desktop file put this code:: [Desktop Entry] Type=Service ServiceTypes=Krita/PythonPlugin X-KDE-Library=myplugin X-Python-2-Compatible=false Name=My Own Plugin Comment=Our very own plugin. - write your script in the ''myplugin/myplugin.py'' file. Creating an extension --------------------- `Extensions `_ are relatively simple python scripts that run on Krita start. They are made by extending the Extension class, and the most barebones extension looks like this: .. code:: python from krita import * class MyExtension(Extension): def __init__(self, parent): #This is initialising the parent, always important when subclassing. super().__init__(parent) def setup(self): pass def createActions(self, window): pass # And add the extension to Krita's list of extensions: Krita.instance().addExtension(MyExtension(Krita.instance())) This code of course doesn't do anything. Typically, in createActions we add actions to Krita, so we can access our script from the :guilabel:`Tools` menu. First, let's create an `action `_. We can do that easily with `Window.createAction() `_. Krita will call createActions for every Window that is created and pass the right window object that we have to use. So... .. code:: python def createActions(self, window): action = window.createAction("myAction", "My Script", "tools/scripts") "myAction" This should be replaced with a unique id that Krita will use to find the action. "My Script" This is what will be visible in the tools menu. If you now restart Krita, you will have an action called "My Script". It still doesn't do anything, because we haven't connected it to a script. So, let's make a simple export document script. Add the following to the extension class, make sure it is above where you add the extension to Krita: .. code:: python def exportDocument(self): # Get the document: doc = Krita.instance().activeDocument() # Saving a non-existent document causes crashes, so lets check for that first. if doc is not None: # This calls up the save dialog. The save dialog returns a tuple. fileName = QFileDialog.getSaveFileName()[0] # And export the document to the fileName location. # InfoObject is a dictionary with specific export options, but when we make an empty one Krita will use the export defaults. doc.exportImage(fileName, InfoObject()) And add the import for QFileDialog above with the imports: .. code:: python from krita import * from PyQt5.QtWidgets import QFileDialog Then, to connect the action to the new export document: .. code:: python def createActions(self, window): action = window.createAction("myAction", "My Script") action.triggered.connect(self.exportDocument) This is an example of a `signal/slot connection `_, which Qt applications like Krita use a lot. We'll go over how to make our own signals and slots a bit later. Restart Krita and your new action ought to now export the document. Creating configurable keyboard shortcuts ---------------------------------------- Now, your new action doesn't show up in :menuselection:`Settings --> Configure Krita --> Keyboard Shortcuts`. Krita, for various reasons, only adds actions to the shortcuts menu when they are present in an .action file. The action file to get our action to be added to shortcuts should look like this: .. code:: xml My Scripts My Script 10000 0 ctrl+alt+shift+p false My Scripts This will create a sub-category under scripts called "My Scripts" to add your shortcuts to. name This should be the unique id you made for your action when creating it in the setup of the extension. icon the name of a possible icon. These will only show up on KDE plasma, because Gnome and Windows users complained they look ugly. text The text that it will show in the shortcut editor. whatsThis The text it will show when a Qt application specifically calls for 'what is this', which is a help action. toolTip The tool tip, this will show up on hover-over. iconText The text it will show when displayed in a toolbar. So for example, "Resize Image to New Size" could be shortened to "Resize Image" to save space, so we'd put that in here. activationFlags This determines when an action is disabled or not. activationConditions This determines activation conditions (e.g. activate only when selection is editable). See `the code `_ for examples. shortcut Default shortcut. isCheckable Whether it is a checkbox or not. statusTip The status tip that is displayed on a status bar. Save this file as "myplugin.action" where myplugin is the name of your plugin. The action file should be saved, not in the pykrita resources folder, but rather in a resources folder named "actions". (So, share/pykrita is where the python plugins and desktop files go, and share/actions is where the action files go) Restart Krita. The shortcut should now show up in the shortcut action list. Creating a docker ----------------- Creating a custom `docker `_ is much like creating an extension. Dockers are in some ways a little easier, but they also require more use of widgets. This is the barebones docker code: .. code:: python from PyQt5.QtWidgets import * from krita import * class MyDocker(DockWidget): def __init__(self): super().__init__() self.setWindowTitle("My Docker") def canvasChanged(self, canvas): pass Krita.instance().addDockWidgetFactory(DockWidgetFactory("myDocker", DockWidgetFactoryBase.DockRight, MyDocker)) The window title is how it will appear in the docker list in Krita. canvasChanged always needs to be present, but you don't have to do anything with it, so hence just 'pass'. For the addDockWidgetFactory... "myDocker" Replace this with an unique ID for your docker that Krita uses to keep track of it. DockWidgetFactoryBase.DockRight The location. These can be DockTornOff, DockTop, DockBottom, DockRight, DockLeft, or DockMinimized MyDocker Replace this with the class name of the docker you want to add. So, if we add our export document function we created in the extension section to this docker code, how do we allow the user to activate it? First, we'll need to do some Qt GUI coding: Let's add a button! By default, Krita uses PyQt, but its documentation is pretty bad, mostly because the regular Qt documentation is really good, and you'll often find that the PyQT documentation of a class, say, `QWidget `_ is like a weird copy of the regular `Qt documentation `_ for that class. Anyway, what we need to do first is that we need to create a QWidget, it's not very complicated, under setWindowTitle, add: .. code:: python mainWidget = QWidget(self) self.setWidget(mainWidget) Then, we create a button: .. code:: python buttonExportDocument = QPushButton("Export Document", mainWidget) Now, to connect the button to our function, we'll need to look at the signals in the documentation. `QPushButton `_ has no unique signals of its own, but it does say it inherits 4 signals from `QAbstractButton `_, which means that we can use those too. In our case, we want clicked. .. code:: python buttonExportDocument.clicked.connect(self.exportDocument) If we now restart Krita, we'll have a new docker and in that docker there's a button. Clicking on the button will call up the export function. However, the button looks aligned a bit oddly. That's because our mainWidget has no layout. Let's quickly do that: .. code:: python mainWidget.setLayout(QVBoxLayout()) mainWidget.layout().addWidget(buttonExportDocument) Qt has several `layouts `_, but the `QHBoxLayout and the QVBoxLayout `_ are the easiest to use, they just arrange widgets horizontally or vertically. Restart Krita and the button should now be laid out nicely. PyQt Signals and Slots ---------------------- We've already been using PyQt signals and slots already, but there are times where you want to create your own signals and slots. `As pyQt's documentation is pretty difficult to understand `_, and the way how signals and slots are created is very different from C++ Qt, we're explaining it here: All python functions you make in PyQt can be understood as slots, meaning that they can be connected to signals like Action.triggered or QPushButton.clicked. However, QCheckBox has a signal for toggled, which sends a boolean. How do we get our function to accept that boolean? First, make sure you have the right import for making custom slots: ``from PyQt5.QtCore import pyqtSlot`` (If there's from ``PyQt5.QtCore import *`` already in the list of imports, then you won't have to do this, of course.) Then, you need to add a PyQt slot definition before your function: .. code:: python @pyqtSlot(bool) def myFunction(self, enabled): enabledString = "disabled" if (enabled == True): enabledString = "enabled" print("The checkbox is"+enabledString) -Then, when you have created your checkbox, you can do something like myCheckbox.toggled.connect(self.myFunction) +Then, when you have created your checkbox, you can do something like myCheckbox.toggled.connect(self.myFunction). Similarly, to make your own PyQt signals, you do the following: .. code:: python # signal name is added to the member variables of the class signal_name = pyqtSignal(bool, name='signalName') def emitMySignal(self): # And this is how you trigger the signal to be emitted. self.signal_name.emit(True) And use the right import: ``from PyQt5.QtCore import pyqtSignal`` To emit or create slots for objects that aren't standard python objects, you only have to put their names between quotation marks. A note on unit tests -------------------- If you want to write unit tests for your plugin, have a look at the `mock krita module `_. Conclusion ---------- Okay, so that covers all the Krita specific details for creating python plugins. It doesn't handle how to parse the pixel data, or best practices with documents, but if you have a little bit of experience with python you should be able to start creating your own plugins. As always, read the code carefully and read the API docs for python, Krita and Qt carefully to see what is possible, and you'll get pretty far. diff --git a/user_manual/selections.rst b/user_manual/selections.rst index 74f0c0dc7..88c950d28 100644 --- a/user_manual/selections.rst +++ b/user_manual/selections.rst @@ -1,149 +1,149 @@ .. meta:: :description: How selections work in Krita. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier - Hulmanen - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Selection .. _selections_basics: ========== Selections ========== Selections allow you to pick a specific area of your artwork to change. This is useful when you want to move a section of the painting, transform it, or paint on it without affecting the other sections. There are many selection tools available that select in different ways. Once an area is selected, most tools will stay inside that area. On that area you can draw or use gradients to quickly get colored and/or shaded shapes with hard edges. The selections in Krita are not limited to the canvas boundary, so you can also selection portions of the painting that are beyond the canvas boundary. Creating Selections ------------------- The most common selection tools all exist at the bottom of the toolbox. Each tool selects things slightly differently. The links for each tool go into a more detailed description of how to use it. .. csv-table:: :ref:`rectangle_selection_tool` , |toolselectrect|, Select the shape of a square. :ref:`ellipse_selection_tool` , |toolselectellipse|, Select the shape of a circle. :ref:`polygonal_selection_tool` , |toolselectpolygon|, Click where you want each point of the Polygon to be. Double click to end your polygon and finalize your selection area. Use the :kbd:`Shift + Z` shortcut to undo last point. :ref:`outline_selection_tool` , |toolselectoutline|, Outline/Lasso tool is used for a rough selection by drawing the outline. :ref:`similar_selection_tool` , |toolselectsimilar|, Similar Color Selection Tool. :ref:`contiguous_selection_tool` , |toolselectcontiguous|, "Contiguous or “Magic Wand” selects a field of color. Adjust the :guilabel:`Fuzziness` to allow more changes in the field of color, by default limited to the current layer." :ref:`path_selection_tool` , |toolselectpath|, "Path select an area based on a vector path, click to get sharp corners or drag to get flowing lines and close the path with the :kbd:`Enter` key or connecting back to the first point." .. note:: You can also use the transform tools on your selection, a great way to try different proportions on parts of your image. Editing Selections ------------------ The tool options for each selection tool gives you the ability to modify your selection. +-------------+---------------+------------+---------------------------------------------------+ | Action | Modifier | Shortcut | Description | +-------------+---------------+------------+---------------------------------------------------+ | Replace | Ctrl | R | Replace the current selection. | +-------------+---------------+------------+---------------------------------------------------+ -| Intersect | Shift + Alt | -- | Get the overlapping section of both selections | +| Intersect | Shift + Alt | -- | Get the overlapping section of both selections. | +-------------+---------------+------------+---------------------------------------------------+ | Add | Shift | A | Add the new selection to the current selection. | +-------------+---------------+------------+---------------------------------------------------+ | Subtract | Alt | S | Subtract the selection from the current selection.| +-------------+---------------+------------+---------------------------------------------------+ | Symmetric | -- | -- | Make a selection where both the new and current | | Difference | | | do not overlap. | +-------------+---------------+------------+---------------------------------------------------+ You can change this in :ref:`tool_options_settings`. If you hover over a selection with a selection tool and no selection is activated, you can move it. To quickly go into transform mode, |mouseright| and select :guilabel:`Edit Selection`. Removing Selections ------------------- If you want to delete the entire selection, the easiest way is to deselect everything. :menuselection:`Select --> Deselect`. Shortcut :kbd:`Ctrl + Shift + A`. When you have one of the selection tool active, and the mode of selection is in intersect, replace or symmetric difference then you can also deselect by just |mouseleft| anywhere on the canvas. Display Modes ------------- In the bottom left-hand corner of the status bar there is a button to toggle how the selection is displayed. The two display modes are the following: (Marching) Ants and Mask. The red color with Mask can be changed in the preferences. You can edit the color under :menuselection:`Settings --> Configure Krita --> Display --> Selection Overlay`. If there is no selection, this button will not do anything. .. image:: /images/selection/Ants-displayMode.jpg Ants display mode (default) is best if you want to see the areas that are not selected. .. image:: /images/selection/Mask-displayMode.jpg Mask display mode is good if you are interested in seeing the various transparency levels for your selection. For example, when you have a selection with very soft edges due using feathering. .. versionchanged:: 4.2 Mask mode is activated as well when a selection mask is the active layer so you can see the different selection levels. Global Selection Mask (Painting a Selection) -------------------------------------------- The global Selection Mask is your selection that appears on the layers docker. By default, this is hidden, so you will need to make it visible via :menuselection:`Select --> Show Global Selection Mask`. .. image:: /images/selection/Global-selection-mask.jpg Once the global Selection Mask is shown, you will need to create a selection. The benefit of using this is that you can paint your selection using any of the normal painting tools, including the transform and move. The information is saved as grayscale. You can enter the global selection mask mode quickly from the selection tools by doing |mouseright| and select :guilabel:`Edit Selection`. Selection from layer transparency --------------------------------- You can create a selection based on a layer's transparency by right-clicking on the layer in the layer docker and selecting :guilabel:`Select Opaque` from the context menu. .. versionadded:: 4.2 You can also do this for adding, subtracting and intersecting by going to :menuselection:`Select --> Select Opaque`, where you can find specific actions for each. If you want to quickly select parts of layers, you can hold the :kbd:`Ctrl +` |mouseleft| shortcut on the layer *thumbnail*. To add a selection do :kbd:`Ctrl + Shift +` |mouseleft|, to remove :kbd:`Ctrl + Alt +` |mouseleft| and to intersect :kbd:`Ctrl + Shift + Alt +` |mouseleft|. This works with any mask that has pixel or vector data (so everything but transform masks). .. _pixel_vector_selection: Pixel and Vector Selection Types -------------------------------- Vector selections allow you to modify your selection with vector anchor tools. Pixel selections allow you to modify selections with pixel information. They both have their benefits and disadvantages. You can convert one type of selection to another. .. image:: /images/selection/Vector-pixel-selections.jpg -When creating a selection, you can select what type of selection you want from the Mode in the selection tool options: Pixel or Vector. By default this will be a vector. +When creating a selection, you can select what type of selection you want from the Mode in the selection tool options: Pixel or Vector. By default this will be Vector. Vector selections can be modified as any other :ref:`vector shape ` with the :ref:`shape_selection_tool`, if you try to paint on a vector selection mask it will be converted into a pixel selection. You can also convert vector shapes to selection. In turn, vector selections can be made from vector shapes, and vector shapes can be converted to vector selections using the options in the :guilabel:`Selection` menu. Krita will add a new vector layer for this shape. One of the most common reasons to use vector selections is that they give you the ability to move and transform a selection without the kind of resize artifacts you get with a pixel selection. You can also use the :ref:`shape_edit_tool` to change the anchor points in the selection, allowing you to precisely adjust bezier curves or add corners to rectangular selections. If you started with a pixel selection, you can still convert it to a vector selection to get these benefits. Go to :menuselection:`Select --> Convert to Vector Selection`. .. note:: If you have multiple levels of transparency when you convert a selection to vector, you will lose the semi-transparent values. Common Shortcuts while Using Selections --------------------------------------- - Copy -- :kbd:`Ctrl + C` or :kbd:`Ctrl + Ins` - Paste -- :kbd:`Ctrl + V` or :kbd:`Shift + Ins` - Cut -- :kbd:`Ctrl + X`, :kbd:`Shift + Del` - Copy From All Layers -- :kbd:`Ctrl + Shift + C` - Copy Selection to New Layer -- :kbd:`Ctrl + Alt + J` - Cut Selection to New Layer -- :kbd:`Ctrl + Shift + J` - Display or hide selection with :kbd:`Ctrl + H` - Select Opaque -- :kbd:`Ctrl +` |mouseleft| on layer thumbnail. - Select Opaque (Add) -- :kbd:`Ctrl + Shift +` |mouseleft| on layer thumbnail. - Select Opaque (Subtract) -- :kbd:`Ctrl + Alt +` |mouseleft| on layer thumbnail. - Select Opaque (Intersect) -- :kbd:`Ctrl + Shift + Alt +` |mouseleft| on layer thumbnail. diff --git a/user_manual/soft_proofing.rst b/user_manual/soft_proofing.rst index df1715d01..ffe4edaf9 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 colors 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). 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/softproofing/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 the :kbd:`Ctrl + Y` shortcut. 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 :ref:`color managed workflow `. .. figure:: /images/softproofing/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 + 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. 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. 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/softproofing/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 the :kbd:`Ctrl + Shift + Y` shortcut, 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/templates.rst b/user_manual/templates.rst index 3997129cc..ed3c8d671 100644 --- a/user_manual/templates.rst +++ b/user_manual/templates.rst @@ -1,68 +1,68 @@ .. meta:: :description: How to use document templates in Krita. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier - AndreyGolovkin :license: GNU free documentation license 1.3 or later. .. index:: ! Template .. _templates: ========= Templates ========= .. image:: /images/Krita_New_File_Template_A.png Templates are just .kra files which are saved in a special location so it can be pulled up by Krita quickly. This is like the :guilabel:`Open Existing Document and Untitled Document` but then with a nicer place in the UI. You can make your own template file from any .kra file, by using :guilabel:`create template from image` in the file menu. This will add your current document as a new template, including all its properties along with the layers and layer contents. We have the following defaults: Comic Templates ~~~~~~~~~~~~~~~ These templates are specifically designed for you to just get started with drawing comics. The comic template relies on a system of vectors and clones of those vector layers which automatically reflect any changes made to the vector layers. In between these two, you can draw your picture, and not fear them drawing over the panel. Use :guilabel:`Inherit Alpha` to clip the drawing by the panel. European Bande Desinée Template. This one is reminiscent of the system used by for example TinTin or Spirou et Fantasio. These panels focus on wide images, and horizontal cuts. US-style comics Template. This one is reminiscent of old DC and Marvel comics, such as Batman or Captain America. Nine images for quick story progression. Manga Template. This one is based on Japanese comics, and focuses on a thin vertical gutter and a thick horizontal gutter, ensuring that the reader finished the previous row before heading to the next. Waffle Iron Grid 12 little panels at your disposal. Design Templates ~~~~~~~~~~~~~~~~ These are templates for design and have various defaults with proper ppi at your disposal: * Cinema 16:10 * Cinema 2.93:1 * Presentation A3-landscape * Presentation A4 portrait * Screen 4:3 * Web Design DSLR templates ~~~~~~~~~~~~~~ -These have some default size for photos +These have some default size for photos: * Canon 55D * Canon 5DMK3 * Nikon D3000 * Nikon D5000 * Nikon D7000 Texture Templates ~~~~~~~~~~~~~~~~~ These are for making 3D textures, and are between 1024, to 4092. diff --git a/user_manual/working_with_images.rst b/user_manual/working_with_images.rst index b506f4046..7e26d177d 100644 --- a/user_manual/working_with_images.rst +++ b/user_manual/working_with_images.rst @@ -1,279 +1,279 @@ .. meta:: :description: - Detailed steps on how images work in Krita + 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 :ref:`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 :menuselection:`Image --> Convert Image Color Space` this will convert all the layers color space as well. Author and Description ---------------------- .. image:: /images/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 metadata 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 :guilabel:`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 the :kbd:`Ctrl + Alt + C` shortcut). The dialog box is shown below. .. image:: /images/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 indicates where the new canvas space is added around the current image. You 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/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/Scale_Image_to_New_Size.png Separating Images ~~~~~~~~~~~~~~~~~ .. image:: /images/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 its 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 Copies and renames the last saved version of your file to a back-up file and saves your document under the original name. .. 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.