diff --git a/KritaFAQ.rst b/KritaFAQ.rst index e94cbe27c..18a0d3349 100644 --- a/KritaFAQ.rst +++ b/KritaFAQ.rst @@ -1,552 +1,552 @@ .. .. 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. +#. With :menuselection:`Settings --> Switch Application Language...` menu item will appear a small window. #. 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. Why my configuration resets on its own? --------------------------------------- There are two possible reasons: - You don't save your settings. -This is most probable if you are on Windows and you have either a display with a small resolution (below fullHD) or if you have fullHD resolution with UI scaling in Windows settings (which is 150% by default). In those cases it might happen that you don't see the OK button in the Configure Krita dialog. You can use alt+O instead. (You can go to Configure Krita -> General -> Window and make sure that Enable HiDPI checkbox is unchecked to disable scaling for Krita and get a smaller UI). +This is most probable if you are on Windows and you have either a display with a small resolution (below fullHD) or if you have fullHD resolution with UI scaling in Windows settings (which is 150% by default). In those cases it might happen that you don't see the :guilabel:`OK` button in the :guilabel:`Configure Krita` dialog. You can use :kbd:`Alt + O` instead. (You can go to :menuselection:`Configure Krita... --> General --> Window` and make sure that :guilabel:`Enable HiDPI` checkbox is unchecked to disable scaling for Krita and get a smaller UI). - You close your computer using the power button. -If you are on Windows and you use power button instead of a standard procedure to close or restart your computer, it might happen that Krita's configuration file gets corrupted. To solve this, just use the correct way of closing your system: either Start -> Restart or Start -> Shutdown. +If you are on Windows and you use power button instead of a standard procedure to close or restart your computer, it might happen that Krita's configuration file gets corrupted. To solve this, just use the correct way of closing your system: either :menuselection:`Start -> Restart` or :menuselection:`Start -> Shutdown`. 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. +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 `_. 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 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`. +#. 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 `_. Windows: Krita cannot open my file anymore ------------------------------------------ Your file got corrupted. There are several things that might cause this: #. Windows was shutdown improperly, like by holding the power button. This prevents your harddrive from finishing up the things it is doing and file away your files incorrectly. Please always try to shutdown your computer via the proper shutdown procedure, and if you are in a situation where this is not possible (like frequent blackouts), make daily backups! This may lead to the file being filled with zeroes, so it cannot be recovered from. .. versionchanged:: 4.2.8 Krita version 4.2.8 introduced special safety measure for Windows that should help avoiding this situation. But in any case, unless something makes it impossible, always make sure to shutdown your system using the standard approach. On Windows that means going to Start menu and selecting "Shutdown". #. Badly programmed security software may attempt to rewrite kra files, or prevent Krita from writing to the folder you wish to save to. These cases can be checked by trying to save in that location, and then, without shutting down Krita, checking in the folder to see if the file saved. Files lost due this cannot be recovered. #. Cloud services like dropbox and onedrive have been known to prevent Krita from saving. We've implemented fixes for this, but much like the above point it is worth checking that this isn't the cause of the issue. Files lost due this cannot be recovered. #. Occasionally the zips that kra files comprise of will have the last few bytes missing. We're doing everything in our power to prevent this kind of corruption, but it might be a file system issue. This particular bug can be fixed by renaming the extension (in windows you will need to enable the file extensions, which this FAQ will not cover) to zip, and then using a zip repairing utility to fix the zip file. Then rename it back to kra. #. If Krita doesn't give an error message, but rather crashes, your file is too big, and Krita is not so much crashing as that the operating system is shutting it down. Try shutting down some other programs like webbrowsers or streaming services to free up working memory. You should be able to open the file in question. At this point the recommended course of action is to try and reduce the file size in some manner, such as merging layers, splitting up an animation or scaling the image down. How to recover my files? ------------------------- -#. Check whether you have any backup file or autosave left: :ref:`autosave` . +#. Check whether you have any backup file or autosave left: :ref:`autosave`. #. Check whether you can open the file as zip archive. - #. Rename the extension of the file from .kra to .zip. + #. Rename the extension of the file from ``.kra`` to ``.zip``. #. Try to open (your system should automatically select an archive opener tool). #. There is file called mergedimage.png inside that represents all layers merged that you can use for reference in case you can't restore anything else. #. Check whether zip repairer tool helps. #. Copy the file so you have a backup just in case. - #. Rename the extension of the file from .kra to .zip. - #. Use zip repairer tool on the .zip file. + #. Rename the extension of the file from ``.kra`` to ``.zip``. + #. Use zip repairer tool on the ``.zip`` file. .. code-block:: bash # On Linux: mv file.kra file_copy.zip zip -F file_copy.zip --out file_new1.zip unzip file_new1.zip # if it still doesn't work: zip -FF file_copy.zip --out file_new2.zip unzip file_new2.zip # if it still doesn't work, try to run it again on file_new2.zip file, or try on file_new1.zip file # On Windows: Copy the file, rename the extension. Use any graphical zip repairer on the new file. (Follow the instructions for that specific program). #. Try to open in Krita. #. If it cannot be opened in Krita, try the trick from 2.: open the archive and find mergedimage.png file. -#. Open your file in Notepad or any other text editor. If the the content of the file is only a repeated `NUL` symbol, it means the file is most probably unrecoverable using the standard method. If it's of a very high importance for you, you can try to recover the previous save using methods that checks the hard drive directly. +#. Open your file in Notepad or any other text editor. If the the content of the file is only a repeated *NUL* symbol, it means the file is most probably unrecoverable using the standard method. If it's of a very high importance for you, you can try to recover the previous save using methods that checks the hard drive directly. 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'. #. 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`. +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`. +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 `_. Slow start-up ------------- -You probably have too many resources installed. Deactivate some bundles under :menuselection:`Settings --> Manage Resources`. +You probably have too many resources installed. Deactivate some bundles under the :menuselection:`Settings --> Manage Resources...` menu item. 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 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. +- 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 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`. +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 `_. 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 \ No newline at end of file +https://answers.launchpad.net/krita-ru/+faqs diff --git a/contributors_manual/krita_manual_conventions.rst b/contributors_manual/krita_manual_conventions.rst index 198d17bca..1dbfa1dd5 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. .. 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```. 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` + :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/user_support.rst b/contributors_manual/user_support.rst index d84631a24..7dce65eed 100644 --- a/contributors_manual/user_support.rst +++ b/contributors_manual/user_support.rst @@ -1,189 +1,189 @@ .. 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 ~~~~~~~~~~~~~~~ *For Windows, all devices:* -#. Change API in :menuselection:`Settings --> Configure Krita --> Tablet Settings` (for some devices, especially N-trig ones (some of the convertible 2-in-1 devices), Windows Ink work better, for some it's Wintab). +#. Change API in :menuselection:`Settings --> Configure Krita... --> Tablet Settings` (for some devices, especially N-trig ones (some of the convertible 2-in-1 devices), Windows Ink work better, for some it's Wintab). *For Windows, tablet/digitizer devices (not convertible/2-in-1 ones):* #. Reinstall your driver (Windows Update often breaks tablet driver settings, reinstallation helps). #. *Wacom tablets:* if you get straight lines at the beginnings of the strokes, disable/minimize "double-click distance" in Wacom settings. #. *XP-Pen tablets, pressure being uneven:* either switch to Windows 8+ Pointer, or disable Windows Ink in XP-Pen 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`) text output and share it: :ref:`intro_user_support_sharing_files`. +#. Please collect Tablet Tester (:menuselection:`Settings --> Configure Krita... --> Tablet Settings`) text output and share it: :ref:`intro_user_support_sharing_files`. #. More detailed Tablet Events log: 1. Go to :menuselection:`Settings --> Dockers --> Log Viewer` docker, make sure it's checked. #. In the Log Viewer docker, make sure the first button is pressed (which means the logging is turned on). - #. Press :kbd:`Ctlr+Shift+T` to turn on tablet events logging. + #. Press :kbd:`Ctlr + Shift + T` to turn on tablet events logging. #. Make a few strokes (depending on the situation, the user supporter or developer can ask you for specific series of strokes). - #. Press :kbd:`Ctlr+Shift+T` to turn off the logging of the tablet events. + #. Press :kbd:`Ctlr + Shift + T` to turn off the logging of the tablet events. #. Press the third button in the Log Viewer to save the output into a file. #. Share the file or share the content of the file: :ref:`intro_user_support_sharing_files`. On Linux, you can just use a console instead of Log Viewer -- then you'd only need to enable tablet events logging, not logging in general. 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`. #. `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 called `log_encode.log` in the directory that user tries to render to. It can contain information useful to investigation of the issue (sharing files: :ref:`intro_user_support_sharing_files`). +There is a log file called *log_encode.log* in the directory that user tries to render to. It can contain information useful to investigation of the issue (sharing files: :ref:`intro_user_support_sharing_files`). 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 any weird issue, something you've never heard about, ask them to reset the configuration: :ref:`faq_reset_krita_configuration`. -#. 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`. +#. 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. 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. +#. 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 `_ (:ref:`intro_user_support_sharing_files`), 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. .. _intro_user_support_sharing_files: How to share a file ------------------- * Images (e.g. screenshots): `Imgur `_ [*], `Pasteboard `_ * Text only: `Pastebin `_ [*], `BPaste `_, `paste.ubuntu.org.cn `_, `FedoraProject's Paste `_ or `KDE 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. +* ``.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. .. admonition:: Blocked websites - If the user is behind a firewall of some sorts (for example lives in China), websites with [*] will probably be blocked; please use the alternatives. \ No newline at end of file + If the user is behind a firewall of some sorts (for example lives in China), websites with [*] will probably be blocked; please use the alternatives. diff --git a/general_concepts/colors/color_managed_workflow.rst b/general_concepts/colors/color_managed_workflow.rst index 3dca2c14f..decc8f670 100644 --- a/general_concepts/colors/color_managed_workflow.rst +++ b/general_concepts/colors/color_managed_workflow.rst @@ -1,378 +1,378 @@ .. meta:: :description: How a color managed workflow works. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - AnetK - Tokiedian :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Management, ICC Profiles, OCIO .. _color_managed_workflow: ====================== Color Managed Workflow ====================== You may have heard that Krita has something called color-management. Or maybe you just wondered what all these 'color model' and 'color profile' things you can find in the menus mean. Color management is pretty useful for people who work in digital imaging professionally, and hopefully this page will explain why. Basic Info ---------- If you've never worked with color management before, and have no clue what it is, then know that you've probably been working in the 8bit RGB color space with the sRGB profile. This means you can choose for *sRGB built-in* or *sRGB-elle-v2-srgbtrc.icc*. With the new color space browser this profile is marked with *(default)* when using 8bit. We'll go into what these terms mean in the theory, but if you're here only for trying to figure out which is the default, you now know it. Maybe, after reading this, you may feel like changing the default, to get new and interesting results from filters, blending modes, or just the color smudge brush. What is the problem? -------------------- To explain the point of color management, you'd first need to learn which problem color management tries to solve. Let us imagine a kinder garden: The class of 28 children is subdivided in groups of 7. Each group has its own table. The teacher gives them a painting assignment: They need to paint a red triangle, a blue square, a green circle and put a yellow border around the three. The kids are very experienced with painting already, so the teacher can confidently leave the smarter ones to their own devices, and spent more time on those who need help. The following results come from painting: Even though all groups had the same assignment, each group's result looks different. .. figure:: /images/color_category/Krita_2_9_colormanagement_group1.png :figwidth: 500 :align: center Group 1 had vermillion red, citron yellow and ultramarine blue to their disposal. This means their triangle looks nice and red, but their circle's green is muddy. This is because ultramarine is too dark of a blue to create nice greens with. .. figure:: /images/color_category/Krita_2_9_colormanagement_group2.png :figwidth: 500 :align: center Group 2 had magenta red, citron yellow and cerulean blue. Magenta is a type of red that is closer to pink, opposed to vermillion, which is closer to orange. However, their green looks nice because cerulean is a much lighter blue. .. figure:: /images/color_category/Krita_2_9_colormanagement_group3.png :figwidth: 500 :align: center Group 3 had vermillion red, citron yellow, emerald green and cerulean blue. They didn't mix their green, and thus ended up with a purer color. .. figure:: /images/color_category/Krita_2_9_colormanagement_group4.png :figwidth: 500 :align: center Finally, group 4 has vermillion red, citron yellow and cerulean blue. Their colors probably look like what you imagined. Now, these are kindergarteners, so this isn't the largest problem in the world. However, imagine that something like this happened at a printing company? Imagine four printers printing the same magazine with wildly different results? That would be disastrous! For this purpose, we invented color management. What is color management? ------------------------- Color management is, dryly put, a set of systems that tries to have the same color translate properly between color devices. It usually works by attempting to covert a color to the reference color space XYZ. XYZ is a coordinate system that has a spot for all colors that the average human eye can see. From XYZ it can then be translated back into another device space, such as RGB (for screens), or CMYK (for printers). Krita has two systems dedicated to color management. On the one hand, we have **lcms2**, which deal with ICC profiles, and on the other, we have **OCIO**, which deal with LUT color management. To give a crude estimate, ICC profiles deal with keeping colors consistent over many interpretations of devices (screens, printers) by using a reference space, and OCIO deals with manipulating the interpretation of said colors. Within both we can identify the following color spaces: Device spaces Device spaces are those describing your monitor, and have to be made using a little device that is called "colorimeter". This device, in combination with the right software, measures the strongest red, green and blue your screen can produce, as well as the white, black and gray it produces. Using these and several other measurements it creates an ICC profile unique to your screen. You set these in Krita's color management tab. By default we assume sRGB for screens, but it's very likely that your screen isn't exactly fitting sRGB, especially if you have a high quality screen, where it may be a bigger space instead. Device spaces are also why you should first consult with your printer what profile they expect. Many printing houses have their own device profiles for their printers, or may prefer doing color conversion themselves. You can read more about colorimeter usage :ref:`here `. Working spaces These are delivered alongside Krita for ICC, and downloadable from the OCIO website for OCIO. Working spaces are particularly nice to do color calculations in, which programs like Krita do often. It's therefore recommended to have a working space profile for your image. Aesthetic or Look spaces These are special spaces that have been deformed to give a certain look to an image. Krita doesn't deliver Look profiles for ICC, nor does it yet support Look spaces for OCIO. Color managed workflow ---------------------- Knowing this about these spaces of course doesn't give you an idea of how to use them, but it does make it easier to explain how to use them. So let us look at a typical color management workflow: .. figure:: /images/color_category/Krita-colormanaged-workflow_text.svg :figwidth: 800 :align: center A typical example of a color managed workflow. We have input from scanners and cameras, which we convert to a working space that can be used between different editing software, and is converted to an output space for viewing on screen or printing. In a traditional color managed workflow, we usually think in terms of real world colors being converted to computer colors and the other way around. So, for example photos from a camera or scanned in images. If you have a device space of such a device, we first assign said device space to the image, and then convert it to a working space. We then do all our editing in the working space, and use the working space to communicate between editing programs. In Krita's case, due to it having two color management systems, we use ICC profiles between programs like Gimp 2.9+, Inkscape, digiKam and Scribus, and OCIO configuration between Blender and Natron. You also store your working files in the working space, just like how you have the layers unmerged in the working file, or have it at a very high resolution. Sometimes, we apply aesthetic or 'look' spaces to an image as part of the editing process. This is rather advanced, and probably not something to worry about in Krita's case. Then, when we're done editing, we try to convert to an output space, which is another device space. This can be CMYK for printers or a special screen RGB profile. When you are dealing with professional printing houses, it is best to ask them about this step. They have a lot of experience with doing the best conversion, and may prefer to do the conversion from your working space to the device space of their printers. Another form of output is the way your screen displays the color. Unlike regular output, this one is done all the time during editing: After all, you need to be able to see what you are doing, but your screen is still a device with a device space, so it does distort how the image looks. In this manner, you can see your screen as a set of binoculars you have to look through to see your image at all. Therefore, without a profiled monitor, you actually don't know what the actual colors you are working with are like, because the computer doesn't know the relevant properties of your screen. So if you profiled your monitor, give Krita the profile in the settings, and select the sRGB space to draw in, you are for the first time seeing the actual colors of the sRGB space. So what does this mean? ----------------------- .. figure:: /images/color_category/Krita-colormanaged-workflow_krita_text.svg :figwidth: 300 :align: right When we paint from scratch, we can see our screen profile as the input space, because we use it to determine what colors to pick. This somewhat simplifies the workflow, but makes the screen profile and viewing conditions more important. Now, photographers and people who do a tricky discipline of VFX called 'color grading' will go completely mad over trying to get the colors they put in to come out 100% correctly, and will even count in factors like the time of day and the color they painted their walls. For example, if the wall behind your computer is pure red, your eyes will adjust to be less sensitive to red, which means that the colors they pick in the program could come out redder. We call these the *viewing conditions*. Thankfully, artists have to worry a slight bit less about this. As illustrations are fully handmade, we are able to identify the important bits and make appropriate contrasts between colors. This means that even if our images turn out to be slightly redder than intended, it is less likely the whole image is ruined. If we look back at the kindergarten example above, we still understand what the image was supposed to look like, despite there being different colors on each image. Furthermore, because the colors in illustrations are deliberately picked, we can correct them more easily on a later date. Yet, at the same time, it is of course a big drag to do this, and we might have had much more flexibility had we taken viewing conditions under consideration. That said, for artists it is also very useful to understand the working spaces. Different working spaces give different results with filters and mixing, and only some working spaces can be used for advanced technology like HDR. Similarly, Krita, as a program intended to make images from scratch, doesn't really worry about assigning workspaces after having made the image. But because you are using the screen as a binocular to look at your image, and to pick colors, you can see your screen's device space as an input space to the image. Hence why profiling your monitor and giving the profile to Krita in the settings can help with preparing your work for print and future ventures in the long run. Overall, it is kinda useful to keep things like viewing conditions in the back of your mind. Many professional artists use a mid-gray color as their default canvas background because they find they create much more dynamic images due to having improved their viewing conditions. It is also why a lot of graphics programs, including Krita, come with a dark theme nowadays. (Though, of course this might also be because dark themes can be considered cool, who knows.) .. _icc_profiles: ICC profiles ------------ An ICC profile is a set of coordinates describing the extremities of the device space within XYZ, and it is the color management data you use to communicate your working space to printers and applications that are designed for the print industry, such as Gimp, Scribus, Photoshop, Illustrator, Inkscape, digiKam, RawTheraphee, etc. You have two types of ICC profiles: Matrix Shaper profiles These are delivered alongside Krita. Matrix shaper profiles are made by setting parameters and interpolating between these to get the exact size of the color space. Due to this, Krita's color space browser can give you a lot of information on these profiles. Such profiles are also preferable as working space. .. figure:: /images/color_category/Kiki_matrix_profile.png :figwidth: 500 :align: center Matrix shaper profiles have a few parameters that describe the color space which are then interpolated between, this requires a lot of maths. cLUT profiles These are fairly rare, and primarily used to describe printer profiles, such as CMYK. cLUT, or Color Look-up Table profiles store far more data than Matrix shaper profiles, so they can hold data of little particularities caused by, for example, unexpected results from mixing pigments. This is a far more organic approach to describing a color space, hence why a lot of programs that don't care for color management much don't support these. .. figure:: /images/color_category/Kiki_cLUTprofiles.png :figwidth: 500 :align: center cLUT profiles work by holding tables of each color in a color space and their respective coordinates in a reference space. For CMYK this is typically L\*A\*B\* and for the rest XYZ. These tables are tricky to make, which means these profiles are a lot rarer. The interesting thing about ICC profiles is that your working space can be larger than your device space. This is generally not bad. However, when converting, you do end up with the question of how to translate the working space values. Perceptual This just squishes the values of the working space into the space it's converted to. It's a nice method to see all possible values in this, but not so good if you want accurate color reproduction. Use this if you want to see all colors in an image, or want to express all possible contrasts. Doesn't work with Matrix Shaper profiles, defaults to relative colorimetric. Absolute Colorimetric The opposite to Perceptual, Absolute colorimetric will attempt to retain all the correct colors at whatever cost, which may result in awful looking colors. Recommended only for reproduction work. Doesn't work with Matrix Shaper profiles in Krita due to ICC v4 workflow standards. Relative Colorimetric An in between solution between perceptual and absolute, relative will try to fit whatever colors it can match between color spaces. It does this by aligning the white and black points. It cuts off the rest to their respective borders. This is what all matrix shaper profiles default to during conversion, because the ICC v4 workflow specifies to only use Relative Colorimetric for matrix shaper profiles. Saturation Does anything to retain colorfulness, even hue will be sacrificed. Used in infographics. Doesn't work with Matrix Shaper profiles, defaults to relative colorimetric. *ICC profile version* is the last thing to keep in mind when dealing with ICC profiles. Krita delivers both Version 2 and Version 4 profiles, with the later giving better results in doing color maths, but the former being more widely supported (as seen below in 'Interaction with other applications'). This is also why Krita defaults to V2, and we recommend using V2 when you aren't certain if the other programs you are using support V4. LUT docker and HDR imaging -------------------------- .. figure:: /images/dockers/LUT_Management_Docker.png :figwidth: 300 :align: center The :ref:`lut_docker` is the second important bit of color management in Krita that is shared between Krita and programs like Blender, Natron and Nuke, and only uses Look Up Tables that are configured via a config file. You can set the workingspace of the image under input color space, and the display to sRGB or your own LUT if you have added it to the configuration. View in this case is for proofing transforms to a certain display device. Component, exposure, gamma, whitepoint and blackpoint are knobs which allows you to modify the display filter. .. figure:: /images/color_category/Krita_HDR_1.svg :figwidth: 800 :align: center As explained before, we can see our monitor as a telescope or binocular into the world of our picture. Which means it distorts our view of the image a little. But we can modify this binocular, or display filter to see our image in a different way. For example, to allow us to see the white in an image that are whiter than the white of our screen. To explain what that means, we need to think about what white is. For example, white, on our monitor is full red, full green and full blue. But it's certainly different from white on our paper, or the color of milk, white from the sun, or even the white of our cell-phone displays. Black similarly, is brighter on a LCD display than a LED one, and incomparable with the black of a carefully sealed room. This means that there's potentially blacker blacks than screen black, and white whites than screen white. However, for simplicity's sake we still assign the black-point and the white-point to certain values. From there, we can determine whether a white is whiter than the white point, or a black blacker than the black-point. The LUT docker allows us to control this display-filter and modify the distortion. This is useful when we start modifying images that are made with scene referred values, such as HDR photos, or images coming out of a render engine. .. figure:: /images/color_category/Krita_HDR2.svg :figwidth: 800 :align: center So, for example, we can choose to scale whiter-than-screen-white to our screen-white so we can see the contrasts there. The point of this is that you can take advantage of more lightness detail in an image. While you can't see the difference between screen white and whiter-than-screen-white (because your screen can't show the difference), graphics programs can certainly use it. A common example is matching the lighting between a 3d model and a real world scene. Others are advanced photo retouching, with much more contrast information available to the user. In painting itself, this allows you to create an image where you can be flippant with the contrast, and allow yourself to go as bright as you'd like. LUT docker manipulations are per view, so you can create a new view and set it to luminosity. This way you can see the image in both color as well as grayscale and keep a good eye on your values. Another example is to carefully watch the gradients in a certain section. -Like ICC, the LUT Docker allows you to create a profile of sorts for your device. In this case it's the 'LUT', which stands for 'Look Up Table', and which can be added to OCIO by modifying the configuration file. When OCIO is turned on, the configuration in :menuselection:`Settings --> Configure Krita --> Color Management` is turned off, unless you are using the :guilabel:`Internal` color engine. +Like ICC, the LUT Docker allows you to create a profile of sorts for your device. In this case it's the 'LUT', which stands for 'Look Up Table', and which can be added to OCIO by modifying the configuration file. When OCIO is turned on, the configuration in :menuselection:`Settings --> Configure Krita... --> Color Management` is turned off, unless you are using the :guilabel:`Internal` color engine. In summary ---------- Krita has two modes of color management: * ICC works in terms of spaces relative to the CIEXYZ space, and requires an ICC profile. * OCIO works in terms of interpretation, and makes use of LUTs. * both can be made with a colorimeter. * If you want to have a properly color managed workflow, you have one made customary for the input device (your screen) and the output devices (your printer, or target screen). For web the output is always sRGB. -* Set up your screen profiles under :menuselection:`Settings --> Configure Krita --> Color management`. +* Set up your screen profiles under :menuselection:`Settings --> Configure Krita... --> Color management`. * Do NOT use screen profiles or other device profiles to draw in. Use a working space profile such as any of the 'elle' profiles for this, as the color maths will be much more predictable and pleasant. Krita will convert between your screen and working space on the fly, allowing you to pick the correct colors. This turns your screen into binoculars to view the image. * Use the appropriate color management for the appropriate workflow. If you are working with Blender, you will be better off using OCIO, than ICC. If you are working with Scribus or Photoshop, use ICC. Krita does a lot of color maths, often concerning the blending of colors. This color maths works best in linear color space, and linear color space requires a bit depth of at the least 16bit to work correctly. The disadvantage is that linear space can be confusing to work in. If you like painting, have a decent amount of RAM, and are looking to start your baby-steps in taking advantage of Krita's color management, try upgrading from having all your images in sRGB built-in to sRGB-v2-elle-g10.icc or rec2020-v2-elle-g10.icc at 16bit float. This'll give you better color blending while opening up the possibility for you to start working in HDR! .. note:: Some graphics cards, such as those of the NVidia-brand actually have the best performance under 16bit float, because NVidia cards convert to floating point internally. When it does not need to do that, it speeds up! .. note:: No amount of color management in the world can make the image on your screen and the image out of the printer have 100% the same color. Exporting --------- When you have finished your image and are ready to export it, you can modify the color space to optimize it: If you are preparing an image for the web: * If you use 16bit color depth or higher, convert the image to 8bit color depth. This will make the image much smaller. * Krita doesn't have built-in dithering currently, which means that 16 to 18bit conversions can come out a bit banded. But you can simulate it by adding a fill layer with a pattern, set this fill layer to overlay, and to 5% opacity. Then flatten the whole image and convert it to 8bit. The pattern will function as dithering giving a smoother look to gradients. * If it's a gray-scale image, convert it to gray-scale. * If it's a color image, keep it in the working space profile: Many web browsers these days support color profiles embedded into images. Firefox, for example, will try to convert your image to fit the color profile of the other monitor (if they have one). That way, the image will look almost exactly the same on your screen and on other profiled monitors. .. note:: In some versions of Firefox, the colors actually look strange: This is a bug in Firefox, which is because its `color management system is incomplete `_, save your PNG, JPG or TIFF without an embedded profile to work around this. If you are preparing for print: * You hopefully made the picture in a working space profile instead of the actual custom profile of your screen, if not, convert it to something like Adobe RGB, sRGB or Rec. 2020. * Check with the printer what kind of image they expect. Maybe they expect sRGB color space, or perhaps they have their own profile. Interaction with other applications ----------------------------------- Blender ~~~~~~~ If you wish to use Krita's OCIO functionality, and in particular in combination with Blender's color management, you can try to have it use Blender's OCIO config. Blender's OCIO config is under ``/version number/datafiles/colormanagement``. Set the LUT docker to use the OCIO engine, and select the config from the above path. This will give you Blender's input and screen spaces, but not the looks, as those aren't supported in Krita yet. Windows Photo Viewer ~~~~~~~~~~~~~~~~~~~~ You might encounter some issues when using different applications together. One important thing to note is that the standard Windows Photo Viewer application does not handle modern ICC profiles. Krita uses version 4 profiles; Photo Viewer can only handle version 2 profiles. If you export to JPEG with an embedded profile, Photo Viewer will display your image much too dark. Example workflows ----------------- Here are some example workflows to get a feeling of how your color management workflow may look like. -As mentioned before, input for your screen is set via :menuselection:`Settings --> Configure Krita --> Color management`, or via the LUT docker's 'screen space'. Working space is set via new file per document, or in the LUT docker via 'input space'. +As mentioned before, input for your screen is set via :menuselection:`Settings --> Configure Krita... --> Color management`, or via the LUT docker's 'screen space'. Working space is set via new file per document, or in the LUT docker via 'input space'. Webcomic ~~~~~~~~ .. image:: /images/color_category/Krita-colormanaged-workflow_webcomic.svg :width: 800 :align: center Input Your screen profile. (You pick colors via your screen) Workingspace sRGB (the default screen profile) or any larger profile if you can spare the bit depth and like working in them. Output sRGB, ICC version 2, sRGB TRC for the internet, and a specialized CMYK profile from the printing house for the printed images. Use the sRGB-elle-V2-srgbtrc.icc for going between Inkscape, Photoshop, Painttool Sai, Illustrator, Gimp, Manga Studio, Paintstorm Studio, MyPaint, Artrage, Scribus, etc. and Krita. If you are using a larger space via ICC, you will only be able to interchange it between Krita, Photoshop, Illustrator, Gimp 2.9, Manga Studio and Scribus. All others assume sRGB for your space, no matter what, because they don't have color management. If you are going between Krita and Blender, Nuke or Natron, use OCIO and set the input space to 'sRGB', but make sure to select the sRGB profile for ICC when creating a new file. For the final for the web, convert the image to sRGB 8bit, 'srgbtrc', do not embed the ICC profile. Then, if using PNG, put it through something like 'pngcrush' or other PNG optimizers. sRGB in this case is chosen because you can assume the vast majority of your audience hasn't profiled their screen, nor do they have screens that are advanced enough for the wide gamut stuff. So hence why we convert to the screen default for the internet, sRGB. Print ~~~~~ .. image:: /images/color_category/Krita-colormanaged-workflow_print.svg :width: 800 :align: center Input Your screen profile. (You pick colors via your screen) Workingspace sRGB or Rec. 2020 if you can afford the bit-depth being 16bit. Output Specialized CMYK profile from the printing house for the printed images. The CMYK profiles are different per printer, and even per paper or ink-type so don't be presumptuous and ask ahead for them, instead of doing something like trying to paint in any random CMYK profile. As mentioned in the viewing conditions section, you want to keep your options open. -You can set the advanced color selector to transform to a given profile via :menuselection:`Settings --> Configure Krita --> Color Selector Settings`. There, tick :guilabel:`Color Selector Uses Different Color Space than Image` and select the CMYK profile you are aiming for. This will limit your colors a little bit, but keep all the nice filter and blending options from RGB. +You can set the advanced color selector to transform to a given profile via :menuselection:`Settings --> Configure Krita... --> Color Selector Settings`. There, tick :guilabel:`Color Selector Uses Different Color Space than Image` and select the CMYK profile you are aiming for. This will limit your colors a little bit, but keep all the nice filter and blending options from RGB. Games ~~~~~ .. image:: /images/color_category/Krita-colormanaged-workflow_games.svg :width: 800 :align: center Input Your screen profile. (You pick colors via your screen) Workingspace sRGB or grayscale linear for roughness and specular maps. Output This one is tricky, but in the end it'll be sRGB for the regular player. So this one is tricky. You can use OCIO and ICC between programs, but recommended is to have your images to the engine in sRGB or grayscale. Many physically based renderers these days allow you to set whether an image should be read as a linear or 'srgbtrc' image, and this is even vital to have the images being considered properly in the physically based calculations of the game renderer. While game engines need to have optimized content, and it's recommended to stay within 8bit, future screens may have higher bit depths, and when renderers will start supporting those, it may be beneficial to develop a workflow where the working-space files are rather unnecessarily big and you run some scripts to optimize them for your current render needs, making updating the game in the future for fancier screens less of a drag. Normal maps and heightmaps are officially supposed to be defined with a 'non-color data' working space, but you'll find that most engines will not care much for this. Instead, tell the game engine not to do any conversion on the file when importing. Specular, glossiness, metalness and roughness maps are all based on linear calculations, and when you find that certain material has a metalness of 0.3, this is 30% gray in a linear space. Therefore, make sure to tell the game engine renderer that this is a linear space image (or at the very least, should NOT be converted). .. seealso:: * `Visualizing the XYZ color space `_. * `Basics of gamma correction `_. * `Panda3D example of how an image that has gamma encoded without the 3D renderer being notified of it having gamma-encoding can result in too dark images `_. * `2D examples of the effect of gamma-encoding on color maths `_. * `Basic overview of color management from ArgyllCMS manual `_. diff --git a/general_concepts/file_formats/file_gbr.rst b/general_concepts/file_formats/file_gbr.rst index 4d0755c61..f6f966909 100644 --- a/general_concepts/file_formats/file_gbr.rst +++ b/general_concepts/file_formats/file_gbr.rst @@ -1,28 +1,28 @@ .. meta:: :description: The Gimp Brush file format as used in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Gimp Brush, GBR, *.gbr .. _file_gbr: ====== \*.gbr ====== -The GIMP brush format. Krita can open, save and use these files as :ref:`predefined brushes `. +The Gimp brush format. Krita can open, save and use these files as :ref:`predefined brushes `. There's three things that you can decide upon when exporting a ``*.gbr``: Name This name is different from the file name, and will be shown inside Krita as the name of the brush. Spacing This sets the default spacing. Use color as mask This'll turn the darkest values of the image as the ones that paint, and the whitest as transparent. Untick this if you are using colored images for the brush. GBR brushes are otherwise unremarkable, and limited to 8bit color precision. diff --git a/general_concepts/file_formats/file_gih.rst b/general_concepts/file_formats/file_gih.rst index 379804395..7cf37715a 100644 --- a/general_concepts/file_formats/file_gih.rst +++ b/general_concepts/file_formats/file_gih.rst @@ -1,59 +1,59 @@ .. meta:: :description: The Gimp Image Hose file format in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Image Hose, Gimp Image Hose, GIH, *.gih .. _file_gih: ====== \*.gih ====== -The GIMP image hose format. Krita can open and save these, as well as import via the :ref:`predefined brush tab `. +The Gimp image hose format. Krita can open and save these, as well as import via the :ref:`predefined brush tab `. Image Hose means that this file format allows you to store multiple images and then set some options to make it specify how to output the multiple images. .. figure:: /images/brushes/Gih-examples.png :figwidth: 640px :align: center From top to bottom: Incremental, Pressure and Random Dimension and ranks. -------------------- -The gimp image hose format allows multiple dimensions for a given brush. You could for example have a dimension that updates incrementally, and one that updates on pressure, or updates randomly. Upon export, Krita will use the ranks to subdivide the layers per dimension. If you have a 24 layer image and three ranks, and the first dimension is set to 2, the second to 4 and the third to 3, then Krita will divide 24 into 2 groups of 12, each of which have unique images for the 2 parts of the first dimension. Then those 2 groups of 12 get divided into 8 groups of 4, each of which have unique brush tips for the four parts of the second dimension, and finally, the grouped three images have each a unique brush for the final dimension. +The Gimp image hose format allows multiple dimensions for a given brush. You could for example have a dimension that updates incrementally, and one that updates on pressure, or updates randomly. Upon export, Krita will use the ranks to subdivide the layers per dimension. If you have a 24 layer image and three ranks, and the first dimension is set to 2, the second to 4 and the third to 3, then Krita will divide 24 into 2 groups of 12, each of which have unique images for the 2 parts of the first dimension. Then those 2 groups of 12 get divided into 8 groups of 4, each of which have unique brush tips for the four parts of the second dimension, and finally, the grouped three images have each a unique brush for the final dimension. So, the following image has a table where dimension 1 is unique in one of 4 numbers, while dimension 2 is unique in one of 3 shapes. So our ranks for dimension 1 and dimension 2 need to be 4 and 3 respectively. Now, to order the layers, you need to subdivide the table first by the first dimension, and then by the second. So we end up with three layers each for a shape in the second dimension but for the first number, then another three layers, each for a shape, but then for the second number, and so forth. .. figure:: /images/category_filetypes/gih_multi_dimension_explaination.png :figwidth: 800px :align: center See `the GIMP documentation `_ for a more thorough explaination. Gimp image hose format options: ------------------------------- Constant This'll use the first image, no matter what. Incremental This'll paint the image layers in sequence. This is good for images that can be strung together to create a pattern. Pressure This'll paint the images depending on pressure. This is good for brushes imitating the hairs of a natural brush. Random This'll draw the images randomly. This is good for image-collections used in speedpainting as well as images that generate texture. Or perhaps more graphical symbols. Angle This'll use the dragging angle to determine with image to draw. When exporting a Krita file as a ``.gih``, you will also get the option to set the default spacing, the option to set the name (very important for looking it up in the UI) and the ability to choose whether or not to generate the mask from the colors. Use Color as Mask This'll turn the darkest values of the image as the ones that paint, and the whitest as transparent. Untick this if you are using colored images for the brush. We have a :ref:`Krita Brush tip page ` on how to create your own gih brush. diff --git a/general_concepts/projection/orthographic_oblique.rst b/general_concepts/projection/orthographic_oblique.rst index aea0331f3..25e1d28b9 100644 --- a/general_concepts/projection/orthographic_oblique.rst +++ b/general_concepts/projection/orthographic_oblique.rst @@ -1,154 +1,153 @@ .. meta:: :description: Orthographics and oblique projection. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. So let's start with the basics... .. index:: Projection, Orthographic .. _projection_orthographic: Orthographic ============ Despite the fancy name, you probably know what orthographic is. It is a schematic representation of an object, draw undeformed. Like the following example: .. image:: /images/category_projection/projection-cube_01.svg :align: center This is a rectangle. We have a front, top and side view. Put into perspective it should look somewhat like this: .. image:: /images/category_projection/projection-cube_02.svg :align: center While orthographic representations are kinda boring, they're also a good basis to start with when you find yourself in trouble with a pose. But we'll get to that in a bit. .. _projection_oblique: Oblique ======= So, if we can say that the front view is the viewer looking at the front, and the side view is the viewer directly looking at the side. (The perpendicular line being the view plane it is projected on) .. image:: /images/category_projection/projection-cube_03.svg :align: center Then we can get a half-way view from looking from an angle, no? .. image:: /images/category_projection/projection-cube_04.svg :align: center If we do that for a lot of different sides… .. image:: /images/category_projection/projection-cube_05.svg :align: center And we line up the sides we get a… .. image:: /images/category_projection/projection-cube_06.svg :align: center But cubes are boring. I am suspecting that projection is so ignored because no tutorial applies it to an object where you actually might NEED projection. Like a face. First, let's prepare our front and side views: .. image:: /images/category_projection/projection_image_01.png :align: center I always start with the side, and then extrapolate the front view from it. Because you are using Krita, set up two parallel rulers, one vertical and the other horizontal. To snap them perfectly, drag one of the nodes after you have made the ruler, and press the :kbd:`Shift` key to snap it horizontal or vertical. In 3.0, you can also snap them to the image borders if you have :menuselection:`Snap Image Bounds` active via the :kbd:`Shift + S` shortcut. Then, by moving the mirror to the left, you can design a front view from the side view, while the parallel preview line helps you with aligning the eyes (which in the above screenshot are too low). Eventually, you should have something like this: .. image:: /images/category_projection/projection_image_02.png :align: center And of course, let us not forget the top, it's pretty important: .. image:: /images/category_projection/projection_image_03.png :align: center .. tip:: When you are using Krita, you can just use transform masks to rotate the side view for drawing the top view. The top view works as a method for debugging your orthos as well. If we take the red line to figure out the orthographics from, we see that our eyes are obviously too inset. Let's move them a bit more forward, to around the nose. .. image:: /images/category_projection/projection_image_04.png :align: center If you want to do precision position moving in the tool options docker, just select 'position' and the input box for the X. Pressing down then moves the transformed selection left. With Krita 3.0 you can just use the move tool for this and the arrow keys. Using transform here can be more convenient if you also have to squash and stretch an eye. .. image:: /images/category_projection/projection_image_05.png :align: center We fix the top view now. Much better. -For faces, the multiple slices are actually pretty important. So important even, that I have decided we should have these slices on separate layers. Thankfully, I chose to color them, so all we need to do is go to :menuselection:`Layer --> Split Layer` -. +For faces, the multiple slices are actually pretty important. So important even, that I have decided we should have these slices on separate layers. Thankfully, I chose to color them, so all we need to do is go to :menuselection:`Layer --> Split Layer`. .. image:: /images/category_projection/projection_image_06.png :align: center This'll give you a few awkwardly named layers… rename them by selecting all and mass changing the name in the properties editor: .. image:: /images/category_projection/projection_image_07.png :align: center So, after some cleanup, we should have the following: .. image:: /images/category_projection/projection_image_08.png :align: center Okay, now we're gonna use animation for the next bit. Set it up as follows: .. image:: /images/category_projection/projection_image_09.png :align: center * Both front view and side view are set up as 'visible in timeline' so we can always see them. * Front view has its visible frame on frame 0 and an empty frame on frame 23. * Side view has its visible frame on frame 23 and an empty view on frame 0. * The end of the animation is set to 23. .. image:: /images/category_projection/projection_image_10.png :align: center Krita can't animate a transformation on multiple layers on multiple frames yet, so let's just only transform the top layer. Add a semi-transparent layer where we draw the guidelines. Now, select frame 11 (halfway), add new frames from front view, side view and the guidelines. And turn on the onion skin by toggling the lamp symbols. We copy the frame for the top view and use the transform tool to rotate it 45°. .. image:: /images/category_projection/projection_image_11.png :align: center So, we draw our vertical guides again and determine a in-between... .. image:: /images/category_projection/projection_image_12.png :align: center This is about how far you can get with only the main slice, so rotate the rest as well. .. image:: /images/category_projection/projection_image_13.png :align: center And just like with the cube, we do this for all slices… .. image:: /images/category_projection/projection_image_14.png :align: center Eventually, if you have the top slices rotate every frame with 15°, you should be able to make a turn table, like this: .. image:: /images/category_projection/projection_animation_01.gif :align: center Because our boy here is fully symmetrical, you can just animate one side and flip the frames for the other half. While it is not necessary to follow all the steps in the theory section to understand the tutorial, I do recommend making a turn table sometime. It teaches you a lot about drawing 3/4th faces. How about… we introduce the top view into the drawing itself? diff --git a/reference_manual/brushes/brush_settings/brush_tips.rst b/reference_manual/brushes/brush_settings/brush_tips.rst index 5d6f3d794..77c3d7def 100644 --- a/reference_manual/brushes/brush_settings/brush_tips.rst +++ b/reference_manual/brushes/brush_settings/brush_tips.rst @@ -1,145 +1,145 @@ .. meta:: :description: How to use brush tips in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - PMoonen - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Brush tip, Brush Mask .. _option_brush_tip: ========== Brush Tips ========== .. image:: /images/brushes/Krita_Pixel_Brush_Settings_Popup.png .. _auto_brush_tip: Auto Brush ---------- The generic circle or square. These brush-tips are generated by Krita through certain parameters. Types ~~~~~ First, there are three mask-types, with each the circle and square shape: Default This is the ultimate generic type. The Fade parameter produces the below results. Of the three auto brushes, this is the fastest. .. image:: /images/brushes/Krita_29_brushengine_brushtips_default.png Soft This one's fade is controlled by a curve! .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_soft.png Gaussian This one uses the gaussian algorithm to determine the fade. Out of the three auto brushes, this is the slowest. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_gaussian.png Parameters ~~~~~~~~~~ Diameter The pixel size of the brush. Ratio Whether the brush is elongated or not. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_ratio.png Fade this sets the softness of the brush. You can click the chain-symbol to lock and unlock these settings. Fade has a different effect per mask-type, so don't be alarmed if it looks strange, perhaps you have the wrong mask-type. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_default2b.png With fade locked. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_default_3.png With fade separately horizontal and vertical. Angle This changes the angle a which the brush is at. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_angle.png Spikes This gives the amount of tips related to the ratio. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_spikes.png Density This determines how much area the brush-covers over its size: It makes it noisy. In the example below, the brush is set with density 0%, 50% and 100% respectively. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_density.png Randomness This changes the randomness of the density. In the example below, the brush is set with randomness 0%, 50% and 100% respectively. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_randomness.png Spacing This affects how far brushes are spaced apart. In the below picture, the three examples on the left are with spacing 0, 1 and 5. Auto (spacing) Ticking this will set the brush-spacing to a different (quadratic) algorithm. The result is fine control over the spacing. In the below picture, the three examples on right are with auto spacing, 0, 1 and 5 respectively. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_spacing.png Smooth lines This toggles the super-smooth anti-aliasing. In the below example, both strokes are drawn with a default brush with fade set to 0. On the left without smooth lines, and the right with. Very useful for inking brushes. This option is best used in combination with Auto Spacing. .. image:: /images/brushes/Krita_2_9_brushengine_brushtips_default_2.png Precision This changes how smooth the brush is rendered. The lower, the faster the brush, but the worse the rendering looks. You'd want an inking brush to have a precision of 5 at all times, but a big filling brush for painting doesn't require such precision, and can be easily sped up by setting precision to 1. Auto (precision) This allows you to set the precision linked to the size. The first value is the brush size at which precision is last 5, and the second is the size-difference at which the precision will decrease. For example: A brush with ''starting brush size'' 10 and ''delta'' 4, will have... - precision 5 at size 10 - precision 4 at size 14 - precision 3 at size 18 - precision 2 at size 22 - precision 1 at sizes above 26. .. _predefined_brush_tip: Predefined Brushes ~~~~~~~~~~~~~~~~~~ .. image:: /images/brushes/Krita_Predefined_Brushes.png If you have used other applications like :program:`GIMP` or :program:`Photoshop`, you will have used this kind of brush. :program:`Krita` is (mostly) compatible with the brush tip definitions files of these applications: abr - GIMP autobrush tip definitions. + Gimp autobrush tip definitions. :ref:`file_gbr` - GIMP single bitmap brush tip. Can be black and white or colored. + Gimp single bitmap brush tip. Can be black and white or colored. :ref:`file_gih` - GIMP Image Hose brush tip: contains a series of brush tips that are painted randomly or in order after each other. Can be black and white or colored. :program:`Krita` does not yet support all the parameters yet. + Gimp Image Hose brush tip: contains a series of brush tips that are painted randomly or in order after each other. Can be black and white or colored. :program:`Krita` does not yet support all the parameters yet. abr Photoshop brush tip collections. We support many of the features of these brush files, though some advanced features are not supported yet. Note that the definition of ABR brushes has been reverse engineered since Adobe does not make the specification public. We strongly recommend every :program:`Krita` user to share brush tips in GBR and GIH format and more complex brushes as :program:`Krita` presets. All predefined brush tips are shown in one selector. There are four more options that influence the initial bitmap brush tip you start painting with: Scale Scales the brush tip. 1.0 is the native size of the brush tip. This can be fairly large! When painting with variable size (for instance governed by pressure), this is the base for the calculations. Rotation Initial rotation of the brush tip. Spacing Distance between the brush tip impressions. Use color as mask For colored brushes, don't paint the actual colors, but make a grayscale brush tip that will be colored by your selected foreground/background color. diff --git a/reference_manual/create_new_document.rst b/reference_manual/create_new_document.rst index 3e71df664..b158fe3d2 100644 --- a/reference_manual/create_new_document.rst +++ b/reference_manual/create_new_document.rst @@ -1,80 +1,80 @@ .. meta:: :description: A simple guide to the first basic steps of using Krita: creating and saving an image. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Scott Petrovic - DMarquant - Vancemoss - Bugsbane - Hamlet 1977 - Lifeling - Yurchor :license: GNU free documentation license 1.3 or later. .. index:: Save, Load, New .. _create_new_document: Create New Document =================== A new document can be created as follows. #. Click on :guilabel:`File` from the application menu at the top. #. Then click on :guilabel:`New`. Or you can do this by pressing the :kbd:`Ctrl + N` shortcut. #. Now you will get a New Document dialog box as shown below: .. image:: /images/Krita_newfile.png There are various sections in this dialog box which aid in creation of new document, either using custom document properties or by using contents from clipboard and templates. Following are the sections in this dialog box: Custom Document ~~~~~~~~~~~~~~~ From this section you can create a document according to your requirements: you can specify the dimensions, color model, bit depth, resolution, etc. In the top-most field of the :guilabel:`Dimensions` tab, from the Predefined drop-down you can select predefined pixel sizes and PPI (pixels per inch). You can also set custom dimensions and the orientation of the document from the -input fields below the predefined drop-down. This can also be saved as a new -predefined preset for your future use by giving a name in the Save As field and -clicking on the Save button. Below we find the Color section of the new -document dialog box, where you can select the color model and the bit-depth. -Check :ref:`general_concept_color` for more detailed information regarding -color. +input fields below the :guilabel:`Predefined:` drop-down. This can also be saved +as a new predefined preset for your future use by giving a name in the +:guilabel:`Save Image Size as:` input box and clicking on the :guilabel:`Save` +button. Below we find the Color section of the new document dialog box, where +you can select the color model and the bit-depth. Check :ref:`general_concept_color` +for more detailed information regarding color. On the :guilabel:`Content` tab, you can define a name for your new document. This name will appear in the metadata of the file, and Krita will use it for the auto-save functionality as well. If you leave it empty, the document will be referred to as 'Unnamed' by default. You can select the background color and the amount of layers you want in the new document. Krita remembers the amount of layers you picked last time, so be careful. Finally, there's a description box, useful to note down what you are going to do. Create From Clipboard ~~~~~~~~~~~~~~~~~~~~~ This section allows you to create a document from an image that is in your clipboard, like a screenshot. It will have all the fields set to match the clipboard image. Templates: ~~~~~~~~~~ These are separate categories where we deliver special defaults. Templates are just .kra files which are saved in a special location, so they can be pulled up by Krita quickly. You can make your own template file from any .kra file, by -using :menuselection:`File --> Create Template From Image` in the top menu. +using :menuselection:`File --> Create Template from Image...` in the top menu. This will add your current document as a new template, including all its properties along with the layers and layer contents. Once you have created a new document according to your preference, you should now have a white canvas in front of you (or whichever background color you chose in the dialog). diff --git a/reference_manual/dockers/color_sliders.rst b/reference_manual/dockers/color_sliders.rst index ce8846be9..37a6344fd 100644 --- a/reference_manual/dockers/color_sliders.rst +++ b/reference_manual/dockers/color_sliders.rst @@ -1,28 +1,28 @@ .. meta:: :description: Overview of the color sliders docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Color, Color Selector, Color Sliders, Hue, Saturation, Value, Brightness, Lightness, Intensity, Luma, Luminosity .. _color_sliders_docker: ============= Color Sliders ============= .. deprecated:: 4.1 This docker has been removed in 4.1. It will return in some form in the future. A small docker with Hue, Saturation and Lightness bars. .. image:: /images/dockers/Color-slider-docker.png -You can configure this docker via :menuselection:`Settings --> Configure Krita --> Color Selector Settings --> Color Sliders`. +You can configure this docker via :menuselection:`Settings --> Configure Krita... --> Color Selector Settings --> Color Sliders`. There, you can select which sliders you would like to see added, allowing you to even choose multiple lightness sliders together. diff --git a/reference_manual/dockers/touch_docker.rst b/reference_manual/dockers/touch_docker.rst index 83f6bfc36..19f6c7c4c 100644 --- a/reference_manual/dockers/touch_docker.rst +++ b/reference_manual/dockers/touch_docker.rst @@ -1,45 +1,45 @@ .. meta:: :description: Overview of the touch docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Touch, Finger, Tablet UI .. _touch_docker: ============ Touch Docker ============ The Touch Docker is a QML docker with several convenient actions on it. Its purpose is to aid those who use Krita on a touch-enabled screen by providing bigger gui elements. Its actions are... +------------------------------+-----------------------+----------------------+ -| Open File | Save File | Save As | +| Open File | Save File | Save As... | +------------------------------+-----------+-----------+----------------------+ | Undo | Redo | +------------------------------------------+----------------------------------+ | Decrease Opacity | +-----------------------------------------------------------------------------+ | Increase Opacity | +-----------------------------------------------------------------------------+ | Increase Lightness | +-----------------------------------------------------------------------------+ | Decrease Lightness | +------------------------------+-----------------------+----------------------+ | | Zoom in | | +------------------------------+-----------------------+----------------------+ | Rotate Counter Clockwise 15° | Reset Canvas Rotation | Rotate Clockwise 15° | +------------------------------+-----------------------+----------------------+ | | Zoom out | | +------------------------------+-----------------------+----------------------+ | Decrease Brush Size | +-----------------------------------------------------------------------------+ | Increase Brush Size | +-----------------------------------------------------------------------------+ | Delete Layer Contents | +-----------------------------------------------------------------------------+ diff --git a/reference_manual/dockers/vector_library.rst b/reference_manual/dockers/vector_library.rst index f51950add..c57729da8 100644 --- a/reference_manual/dockers/vector_library.rst +++ b/reference_manual/dockers/vector_library.rst @@ -1,23 +1,23 @@ .. meta:: :description: Overview of the vector library docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. index:: Vector Library, SVG Symbols, Reusable Vector Shapes .. _vector_library_docker: ============== Vector Library ============== .. versionadded: 4.0 -The Vector Library Docker loads the symbol libraries in SVG files, when those SVG files are put into the "symbols" folder in the resource folder :menuselection:`Settings --> Manage Resources --> Open Resource Folder`. +The Vector Library Docker loads the symbol libraries in SVG files, when those SVG files are put into the "symbols" folder in the resource folder :menuselection:`Settings --> Manage Resources... --> Open Resource Folder`. The vector symbols can then be dragged and dropped onto the canvas, allowing you to quickly use complicated images. Currently, you cannot make symbol libraries with Krita yet, but you can make them by hand, as well as use Inkscape to make them. Thankfully, there's quite a few svg symbol libraries out there already! diff --git a/reference_manual/dr_minw_debugger.rst b/reference_manual/dr_minw_debugger.rst index fc4cee105..6c2f34eb1 100644 --- a/reference_manual/dr_minw_debugger.rst +++ b/reference_manual/dr_minw_debugger.rst @@ -1,81 +1,81 @@ .. meta:: :description: How to get a backtrace in Krita using the dr. MinGW debugger. .. metadata-placeholder :authors: - Scott Petrovic - Wolthera van Hövell tot Westerflier - Raghavendra Kamath - Alvin Wong :license: GNU free documentation license 1.3 or later. .. index:: Backtrace, Debug .. _dr_minw: ================== Dr. MinGW Debugger ================== .. note:: The information on this page applies only to the Windows release of Krita. Using the Debug Package ----------------------- If you have your Krita version installed and you want to get a backtrace, it's best to download a portable version (either the latest release, or the one that someone told you to try, for example Krita Next or Krita Plus package). Alongside downloading the portable version, download the debug symbols package, too. It should be located in the same place -you download Krita. You can see which is which by checking the end of the name of the zip file - debug symbols package always ends with `-dbg.zip`. +you download Krita. You can see which is which by checking the end of the name of the zip file - debug symbols package always ends with *-dbg.zip*. * Links to the debug packages should be available on the release announcement news item on https://krita.org/, along with the release packages. You can find debug packages for any release either in https://download.kde.org/stable/krita for stable releases or in https://download.kde.org/unstable/krita for unstable releases (for example beta versions). Portable zip and debug zip are found next to each other. * Make sure you’ve downloaded the same version of debug package for the portable package you intend to debug / get a better backtrace. * Extract the portable Krita. -* Extract the files from the debug symbols package inside the portable Krita main directory, where the sub-directories `bin`, `lib` and `share` is located, like in the figures below: +* Extract the files from the debug symbols package inside the portable Krita main directory, where the sub-directories *bin*, *lib* and *share* is located, like in the figures below: .. image:: /images/Mingw-dbg7zip.png .. image:: /images/Mingw-dbg7zip-dir.png * After extracting the files, check the ``bin`` dir and make sure you see the ``.debug`` dir inside. If you don't see it, you probably extracted to the wrong place. Getting a Backtrace ------------------- #. When there is a crash, Krita might appear to be unresponsive for a short time, ranging from a few seconds to a few minutes, before the crash dialog appears. .. figure:: /images/Mingw-crash-screen.png An example of the crash dialog. * If Krita keeps on being unresponsive for more than a few minutes, it might actually be locked up, which may not give a backtrace. In that situation, you have to close Krita manually. Continue to follow the following instructions to check whether it was a crash or not. #. Open Windows Explorer and type ``%LocalAppData%`` (without quotes) on the address bar and press the :kbd:`Enter` key. .. image:: /images/Mingw-explorer-path.png #. Find the file ``kritacrash.log`` (it might appear as simply ``kritacrash`` depending on your settings.) #. Open the file with Notepad and scroll to the bottom, then scroll up to the first occurrence of “Error occurred on