diff --git a/general_concepts/projection/axonometric.rst b/general_concepts/projection/axonometric.rst index 7ec31597e..e94aad742 100644 --- a/general_concepts/projection/axonometric.rst +++ b/general_concepts/projection/axonometric.rst @@ -1,164 +1,164 @@ .. meta:: :description: Axonometric projection. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. This is a continuation of :ref:`the orthographic and oblique tutorial `, be sure to check it out if you get confused! .. index:: Projection, Axonometric, Dimetric, Isometric .. _projection_axonometric: Axonometric =========== So, the logic of adding the top is still similar to that of the side. .. image:: /images/en/category_projection/projection-cube_07.svg :align: center Not very interesting. But it gets much more interesting when we use a side projection: .. image:: /images/en/category_projection/projection-cube_08.svg :align: center Because our cube is red on both front-sides, and blue on both left and right side, we can just use copies, this simplifies the method for cubes a lot. We call this form of axonometric projection 'dimetric' as it deforms two parallel lines equally. Isometric is sorta like dimetric where we have the same angle between all main lines: .. image:: /images/en/category_projection/projection-cube_09.svg :align: center True isometric is done with a 90-54.736=35.264° angle from ground plane: .. image:: /images/en/category_projection/projection-cube_10.svg :align: center (as you can see, it doesn't line up perfectly, because Inkscape, while more designed for making these kinds of diagrams than Krita, doesn't have tools to manipulate the line's angle in degrees) This is a bit of an awkward angle, and on top of that, it doesn't line up with pixels sensibly, so for videogames an angle of 30° from the ground plane is used. .. image:: /images/en/category_projection/projection-cube_11.svg :align: center Alright, so, let's make an isometric out of our boy then. We make a new document, and add a vector layer. On the vector layer, we select the straight line tool, start a line and then hold :kbd:`Shift` to make it snap to angles. This'll allow us to make a 30° setup like above: .. image:: /images/en/category_projection/projection_image_15.png :align: center We then import some of the frames from the animation via :menuselection:`Layers --> Import/Export --> Import layer`. Then crop it by setting the crop tool to :guilabel:`Layer`, and use :menuselection:`Filters --> Colors --> Color to alpha` to remove any background. I also set the layers to 50% opacity. We then align the vectors to them: .. image:: /images/en/category_projection/projection_image_16.png :align: center .. tip:: To resize a vector but keep its angle, you just select it with the shape handling tool (the white arrow) drag on the corners of the bounding box to start moving them, and then press :kbd:`Shift` to constrain the ratio. This'll allow you to keep the angle. The lower image is 'the back seen from the front', we'll be using this to determine where the ear should go. Now, we obviously have too little space, so select the crop tool, select :guilabel:`Image` and tick :guilabel:`Grow` and do the following: .. image:: /images/en/category_projection/projection_image_17.png :align: center Grow is a more practical way of resizing the canvas in width and height immediately. Then we align the other heads and transform them by using the transform tool options: .. image:: /images/en/category_projection/projection_image_18.png :align: center (330° here is 360°-30°) -Our rectangle we'll be working in slowly becomes visible. Now, this is a bit of a difficult angle to work at, so we go to :menuselection:`Image --> Rotate --> Custom Rotation` and fill in 30° clockwise: +Our rectangle we'll be working in slowly becomes visible. Now, this is a bit of a difficult angle to work at, so we go to :menuselection:`Image --> Rotate --> Rotate Image` and fill in 30° clockwise: .. image:: /images/en/category_projection/projection_image_19.png :align: center .. image:: /images/en/category_projection/projection_image_20.png :align: center (of course, we could've just rotated the left two images 30°, this is mostly to be less confusing compared to the cube) So, we do some cropping, some cleanup and add two parallel assistants like we did with the orthographic: .. image:: /images/en/category_projection/projection_image_21.png :align: center So the idea here is that you draw parallel lines from both sides to find points in the drawing area. You can use the previews of the assistants for this to keep things clean, but I drew the lines anyway for your convenience. .. image:: /images/en/category_projection/projection_image_22.png :align: center The best is to make a few sampling points, like with the eyebrows here, and then draw the eyebrow over it. .. image:: /images/en/category_projection/projection_image_23.png :align: center Alternative axonometric with the transform tool ----------------------------------------------- Now, there's an alternative way of getting there that doesn't require as much space. We open our orthographic with :guilabel:`Open existing Document as Untitled Document` so that we don't save over it. Our game-safe isometric has its angle at two pixels horizontal is one pixel vertical. So, we shear the ortho graphics with transform masks to -.5/+.5 pixels (this is proportional) .. image:: /images/en/category_projection/projection_image_24.png :align: center Use the grid to setup two parallel rulers that represent both diagonals (you can snap them with the :kbd:`Shift + S`): .. image:: /images/en/category_projection/projection_image_25.png :align: center Add the top view as well: .. image:: /images/en/category_projection/projection_image_26.png :align: center if you do this for all slices, you get something like this: .. image:: /images/en/category_projection/projection_image_27.png :align: center Using the parallel rulers, you can then figure out the position of a point in 3d-ish space: .. image:: /images/en/category_projection/projection_image_28.png :align: center As you can see, this version both looks more 3d as well as more creepy. That's because there are less steps involved as the previous version -- We're deriving our image directly from the orthographic view -- so there are less errors involved. The creepiness is because we've had the tiniest bit of stylisation in our side view, so the eyes come out HUGE. This is because when we stylise the side view of an eye, we tend to draw it not perfectly from the side, but rather slightly at an angle. If you look carefully at the turntable, the same problem crops up there as well. Generally, stylised stuff tends to fall apart in 3d view, and you might need to make some choices on how to make it work. For example, we can just easily fix the side view (because we used transform masks, this is easy.) .. image:: /images/en/category_projection/projection_image_29.png :align: center And then generate a new drawing from that… .. image:: /images/en/category_projection/projection_animation_02.gif :align: center Compare to the old one and you should be able to see that the new result’s eyes are much less creepy: .. image:: /images/en/category_projection/projection_image_30.png :align: center It still feels very squashed compared to the regular parallel projection above, and it might be an idea to not just skew but also stretch the orthos a bit. Let's continue with perspective projection in the next one! diff --git a/reference_manual/blending_modes/hsx.rst b/reference_manual/blending_modes/hsx.rst index fafd15b29..f2e562071 100644 --- a/reference_manual/blending_modes/hsx.rst +++ b/reference_manual/blending_modes/hsx.rst @@ -1,370 +1,370 @@ .. meta:: :description: Page about the HSX blending modes in Krita, amongst which Hue, Color, Luminosity and Saturation. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Maria Luisac :license: GNU free documentation license 1.3 or later. .. index:: Hue, Saturation, Lightness, Luma, Luminosity, Intensity, Value, Brightness .. _bm_cat_hsx: HSX --- Krita has four different HSX coordinate systems. The difference between them is how they handle tone. HSI ~~~ HSI is a color coordinate system, using Hue, Saturation and Intensity to categorize a color. Hue is roughly the wavelength, whether the color is red, yellow, green, cyan, blue or purple. It is measure in 360°, with 0 being red. Saturation is the measurement of how close a color is to grey. -Intensity, in this case is the tone of the color. What makes intensity special is that it recognises yellow (rgb:1,1,0) having a higher combined rgb value than blue (rgb:0,0,1). This is a non-linear tone dimension, which means it's gamma-corrected. +Intensity, in this case is the tone of the color. What makes intensity special is that it recognizes yellow (rgb:1,1,0) having a higher combined rgb value than blue (rgb:0,0,1). This is a non-linear tone dimension, which means it's gamma-corrected. HSL ~~~ HSL is also a color coordinate system. It describes colors in Hue, Saturation and Lightness. Lightness specifically puts both yellow (rgb:1,1,0), blue (rgb:0,0,1) and middle grey (rgb:0.5,0.5,0.5) at the same lightness (0.5). HSV ~~~ HSV, occasionally called HSB, is a color coordinate system. It measures colors in Hue, Saturation, and Value (also called Brightness). Value or Brightness specifically refers to strength at which the pixel-lights on your monitor have to shine. It sets Yellow (rgb:1,1,0), Blue (rgb:0,0,1) and White (rgb:1,1,0) at the same Value (100%) HSY ~~~ HSY is a color coordinate system. It categorizes colors in Hue, Saturation and Luminosity. Well, not really, it uses Luma instead of true luminosity, the difference being that Luminosity is linear while Luma is gamma-corrected and just weights the rgb components. Luma is based on scientific studies of how much light a color reflects in real-life. While like intensity it acknowledges that yellow (rgb:1,1,0) is lighter than blue (rgb:0,0,1), it also acknowledges that yellow (rgb:1,1,0) is lighter than cyan (rgb:0,1,1), based on these studies. HSX Blending Modes ~~~~~~~~~~~~~~~~~~ .. _bm_color: .. _bm_hsv_color: .. _bm_hsl_color: .. _bm_hsi_color: .. _bm_hsy_color: Color, HSV, HSI, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^ This takes the Luminosity/Value/Intensity/Lightness of the colors on the lower layer, and combines them with the Saturation and Hue of the upper pixels. We refer to Color HSY as 'Color' in line with other applications. .. figure:: /images/blending_modes/Blending_modes_Color_HSI_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Color HSI**. .. figure:: /images/blending_modes/Blending_modes_Color_HSI_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Color HSI**. .. figure:: /images/blending_modes/Blending_modes_Color_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color HSI**. .. figure:: /images/blending_modes/Blending_modes_Color_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color HSL**. .. figure:: /images/blending_modes/Blending_modes_Color_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color HSV**. .. figure:: /images/blending_modes/Blending_modes_Color_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Color**. .. _bm_hue: .. _bm_hsv_hue: .. _bm_hsl_hue: .. _bm_hsi_hue: .. _bm_hsy_hue: Hue HSV, HSI, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^ Takes the saturation and tone of the lower layer and combines them with the hue of the upper-layer. Tone in this case being either Value, Lightness, Intensity or Luminosity. .. figure:: /images/blending_modes/Blending_modes_Hue_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue HSI**. .. figure:: /images/blending_modes/Blending_modes_Hue_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue HSL**. .. figure:: /images/blending_modes/Blending_modes_Hue_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue HSV**. .. figure:: /images/blending_modes/Blending_modes_Hue_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Hue**. .. _bm_increase_value: .. _bm_increase_lightness: .. _bm_increase_intensity: .. _bm_increase_luminosity: Increase Value, Lightness, Intensity or Luminosity. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to lighten, but specific to tone. Checks whether the upper layer's pixel has a higher tone than the lower layer's pixel. If so, the tone is increased, if not, the lower layer's tone is maintained. .. figure:: /images/blending_modes/Blending_modes_Increase_Intensity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Intensity**. .. figure:: /images/blending_modes/Blending_modes_Increase_Lightness_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Lightness**. .. figure:: /images/blending_modes/Blending_modes_Increase_Value_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Value**. .. figure:: /images/blending_modes/Blending_modes_Increase_Luminosity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Luminosity**. .. _bm_increase_saturation: .. _bm_increase_hsv_saturation: .. _bm_increase_hsl_saturation: .. _bm_increase_hsi_saturation: .. _bm_increase_hsy_saturation: Increase Saturation HSI, HSV, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to lighten, but specific to Saturation. Checks whether the upper layer's pixel has a higher Saturation than the lower layer's pixel. If so, the Saturation is increased, if not, the lower layer's Saturation is maintained. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation HSL**. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation HSV**. .. figure:: /images/blending_modes/Blending_modes_Increase_Saturation_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Increase Saturation**. .. _bm_intensity: Intensity ^^^^^^^^^ Takes the Hue and Saturation of the Lower layer and outputs them with the intensity of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Intensity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Intensity**. .. _bm_value: Value ^^^^^ Takes the Hue and Saturation of the Lower layer and outputs them with the Value of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Value_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Value**. .. _bm_lightness: Lightness ^^^^^^^^^ Takes the Hue and Saturation of the Lower layer and outputs them with the Lightness of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Lightness_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Lightness**. .. _bm_luminosity: Luminosity ^^^^^^^^^^ As explained above, actually Luma, but called this way as it's in line with the terminology in other applications. Takes the Hue and Saturation of the Lower layer and outputs them with the Luminosity of the upper layer. The most preferred one of the four Tone blending modes, as this one gives fairly intuitive results for the Tone of a hue .. figure:: /images/blending_modes/Blending_modes_Luminosity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Luminosity**. .. _bm_saturation: .. _bm_hsv_saturation: .. _bm_hsl_saturation: .. _bm_hsi_saturation: .. _bm_hsy_saturation: Saturation HSI, HSV, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Takes the Intensity and Hue of the lower layer, and outputs them with the HSI saturation of the upper layer. .. figure:: /images/blending_modes/Blending_modes_Saturation_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Saturation_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation HSL**. .. figure:: /images/blending_modes/Blending_modes_Saturation_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation HSV**. .. figure:: /images/blending_modes/Blending_modes_Saturation_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Saturation**. .. _bm_decrease_value: .. _bm_decrease_lightness: .. _bm_decrease_intensity: .. _bm_decrease_luminosity: Decrease Value, Lightness, Intensity or Luminosity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to darken, but specific to tone. Checks whether the upper layer's pixel has a lower tone than the lower layer's pixel. If so, the tone is decreased, if not, the lower layer's tone is maintained. .. figure:: /images/blending_modes/Blending_modes_Decrease_Intensity_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Decrease Intensity**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Intensity_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Decrease Intensity**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Intensity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Intensity**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Lightness_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Lightness**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Value_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Value**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Luminosity_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Luminosity**. .. _bm_decrease_saturation: .. _bm_decrease_hsv_saturation: .. _bm_decrease_hsl_saturation: .. _bm_decrease_hsi_saturation: .. _bm_decrease_hsy_saturation: Decrease Saturation HSI, HSV, HSL, HSY ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar to darken, but specific to Saturation. Checks whether the upper layer's pixel has a lower Saturation than the lower layer's pixel. If so, the Saturation is decreased, if not, the lower layer's Saturation is maintained. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSI_Gray_0.4_and_Gray_0.5.png :align: center Left: **Normal**. Right: **Decrease Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSI_Light_blue_and_Orange.png :align: center Left: **Normal**. Right: **Decrease Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSI_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation HSI**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSL_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation HSL**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_HSV_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation HSV**. .. figure:: /images/blending_modes/Blending_modes_Decrease_Saturation_Sample_image_with_dots.png :align: center Left: **Normal**. Right: **Decrease Saturation**. diff --git a/reference_manual/brushes/brush_settings/brush_tips.rst b/reference_manual/brushes/brush_settings/brush_tips.rst index 7369bac12..c7be41a73 100644 --- a/reference_manual/brushes/brush_settings/brush_tips.rst +++ b/reference_manual/brushes/brush_settings/brush_tips.rst @@ -1,144 +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/en/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/en/Krita_29_brushengine_brushtips_default.png Soft This one's fade is controlled by a curve! .. image:: /images/en/Krita_2_9_brushengine_brushtips_soft.png Gaussian This one uses the gaussian algorithm to determine the fade. Out of the three auto brushes, this is the slowest. .. image:: /images/en/Krita_2_9_brushengine_brushtips_gaussian.png Parameters ~~~~~~~~~~ Diameter The pixel size of the brush. Ratio Whether the brush is elongated or not. .. image:: /images/en/Krita_2_9_brushengine_brushtips_ratio.png Fade this sets the softness of the brush. You can click the chain-symbol to lock and unlock these settings. Fade has a different effect per mask-type, so don't be alarmed if it looks strange, perhaps you have the wrong mask-type. .. image:: /images/en/Krita_2_9_brushengine_brushtips_default2b.png (With fade locked) .. image:: /images/en/Krita_2_9_brushengine_brushtips_default_3.png (With fade separately horizontal and vertical) Angle This changes the angle a which the brush is at. .. image:: /images/en/Krita_2_9_brushengine_brushtips_angle.png Spikes This gives the amount of tips related to the ratio. .. image:: /images/en/Krita_2_9_brushengine_brushtips_spikes.png Density - This decreases how much area the brush-covers over its size: It makes it noisy. In the example below, the brush is set with density 0%, 50% and 100% respectively. + 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/en/Krita_2_9_brushengine_brushtips_density.png Randomness This changes the randomness of the density. In the example below, the brush is set with randomness 0%, 50% and 100% respectively. .. image:: /images/en/Krita_2_9_brushengine_brushtips_randomness.png Spacing This affects how far brushes are spaced apart. In the below picture, the three examples on the left are with spacing 0, 1 and 5. Auto (spacing) Ticking this will set the brush-spacing to a different (quadratic) algorithm. The result is fine control over the spacing. In the below picture, the three examples on right are with auto spacing, 0, 1 and 5 respectively. .. image:: /images/en/Krita_2_9_brushengine_brushtips_spacing.png -Smooth lines. +Smooth lines This toggles the super-smooth anti-aliasing. In the below example, both strokes are drawn with a default brush with fade set to 0. On the left without smooth lines, and the right with. Very useful for inking brushes. This option is best used in combination with Auto Spacing. .. image:: /images/en/Krita_2_9_brushengine_brushtips_default_2.png Precision This changes how smooth the brush is rendered. The lower, the faster the brush, but the worse the rendering looks. You'd want an inking brush to have a precision of 5 at all times, but a big filling brush for painting doesn't require such precision, and can be easily sped up by setting precision to 1. Auto (precision) This allows you to set the precision linked to the size. The first value is the brush size at which precision is last 5, and the second is the size-difference at which the precision will decrease. For example: A brush with ''starting brush size'' 10 and ''delta'' 4, will have... - precision 5 at size 10 - precision 4 at size 14 - precision 3 at size 18 - precision 2 at size 22 - precision 1 at sizes above 26. + + - precision 5 at size 10 + - precision 4 at size 14 + - precision 3 at size 18 + - precision 2 at size 22 + - precision 1 at sizes above 26. .. _predefined_brush_tip: Predefined Brushes ~~~~~~~~~~~~~~~~~~ .. image:: /images/en/Krita_Predefined_Brushes.png If you have used other applications like :program:`GIMP` or :program:`Photoshop`, you will have used this kind of brush. :program:`Krita` is (mostly) compatible with the brush tip definitions files of these applications: abr GIMP autobrush tip definitions :ref:`file_gbr` GIMP single bitmap brush tip. Can be black and white or colored. :ref:`file_gih` GIMP Image Hose brush tip: contains a series of brush tips that are painted randomly or in order after each other. Can be black and white or colored. :program:`Krita` does not yet support all the parameters yet. abr Photoshop brush tip collections. We support many of the features of these brush files, though some advanced features are not supported yet. Note that the definition of ABR brushes has been reverse engineered since Adobe does not make the specification public. We strongly recommend every :program:`Krita` user to share brush tips in GBR and GIH format and more complex brushes as :program:`Krita` presets. All predefined brush tips are shown in one selector. There are four more options that influence the initial bitmap brush tip you start painting with: Scale scales the brush tip. 1.0 is the native size of the brush tip. This can be fairly large! When painting with variable size (for instance governed by pressure), this is the base for the calculations. Rotation initial rotation of the brush tip. Spacing distance between the brush tip impressions. Use color as mask for colored brushes, don't paint the actual colors, but make a grayscale brush tip that will be colored by your selected foreground/background color. diff --git a/reference_manual/dockers/palette_docker.rst b/reference_manual/dockers/palette_docker.rst index dd4af0871..13a0164df 100644 --- a/reference_manual/dockers/palette_docker.rst +++ b/reference_manual/dockers/palette_docker.rst @@ -1,59 +1,59 @@ .. meta:: :description: Overview of the palette docker. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Palettes, Color .. _palette_docker: ============== Palette Docker ============== The palette docker displays various color swatches for quick use. Since 4.0, it also supports editing palettes and organizing colors into groups. .. image:: /images/en/Palette-docker.png You can choose from various default palettes or you can add your own colors to the palette. To choose from the default palettes click on the icon in the bottom left corner of the docker, it will show a list of pre-loaded color palettes. You can click on one and to load it into the docker, or click on import resources (folder icon) to load your own color palette. Creating a new palette can be done by filling out the :guilabel:`name` input, pressing :guilabel:`Save` and selecting your new palette from the list. * Selecting colors is done by |mouseleft| on a swatch. * Pressing the delete icon will remove the selected swatch or group. When removing a group, Krita will always ask whether you'd like to keep the swatches. If so, they will be added to the default group above. .. versionadded:: 4.0 * Double |mouseleft| a swatch will call up the edit window where you can change the color, the name, the id and whether it's a spot color. On a group this will allow you to set the group name. * |mouseleft| drag will allow you to drag and drop swatches and groups to order them. * Pressing the :guilabel:`+` icon will allow you to add a new swatch. * Pressing the Folder icon will allow you to add a new group. The edit and new color dialogs ask for the following: Color The color of the swatch. Name The Name of the color in a human readable format. ID The ID is a number that can be used to index colors. Where Name can be something like "Pastel Peach", ID will probably be something like "RY75". Spot color - Currently not used for anything within Krita itself, but spot colors are a toggle to keep track of colors that represent a real world paint that a printer can match. Keeping track of such colors is useful in a printing workflow, and it can also be used with python to recognise spot colors. + Currently not used for anything within Krita itself, but spot colors are a toggle to keep track of colors that represent a real world paint that a printer can match. Keeping track of such colors is useful in a printing workflow, and it can also be used with python to recognize spot colors. If you find the size of color swatches too small, you can increase the size by hovering your mouse over the palette and scrolling while holding :kbd:`Ctrl`. Krita's native palette format is since 4.0 :ref:`file_kpl`. It also supports importing... * Gimp Palettes (.gpl) * Microsoft RIFF palette (.riff) * Photoshop Binary Palettes (.act) * PaintShop Pro palettes (.psp) * Photoshop Swatches (.aco) * Scribus XML (.xml) * Swatchbooker (.sbz). diff --git a/reference_manual/filters/artistic.rst b/reference_manual/filters/artistic.rst index a7ef9cfe8..885e35e7a 100644 --- a/reference_manual/filters/artistic.rst +++ b/reference_manual/filters/artistic.rst @@ -1,84 +1,84 @@ .. meta:: :description: Overview of the artistic filters. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Filters, Halftone, HD Index Painting .. _artistic_filters: ======== Artistic ======== The artistic filter are characterised by taking an input, and doing a deformation on them. Halftone -------- .. image:: /images/en/Krita_halftone_filter.png The halftone filter is a filter that converts the colors to a halftone dot pattern. Colors The colors used to paint the pattern. The first is the color of the dots, the second the color of the background. Size The size of the cell in pixels. The maximum dot size will be using the diagonal as the cell size to make sure you can have pure black. Angle The angle of the dot pattern. Invert - This inverts the intensity calculated per dot. Thus, dark colors will give tiny dots, and light colors big dots. This is useful in combination with inverting the colors, and give a better pattern on glowy-effects. + This inverts the intensity calculated per dot. Thus, dark colors will give tiny dots, and light colors big dots. This is useful in combination with inverting the colors, and give a better pattern on glowy-effects. Anti-aliasing This makes the dots smooth, which is good for webgraphics. Sometimes, for print graphics, we want there to be no grays, so we turn off the anti-aliasing. Index Color ----------- The index color filter maps specific user selected colors to the grey scale value of the artwork. You can see the example below, the strip below the black and white gradient has index color applied to it so that the black and white gradient gets the color selected to different values. .. image:: /images/en/Gradient-pixelart.png You can choose the required colors and ramps in the index color filter dialog as shown below .. image:: /images/en/Index-color-filter.png You can create index painting such as one shown below with the help of this filter .. image:: /images/en/Kiki-pixel-art.png Pixelize -------- Makes the input-image pixely by creating small cells and inputting an average color. .. image:: /images/en/Pixelize-filter.png Raindrops --------- Adds random raindrop-deformations to the input-image. Oilpaint -------- Does semi-posterisation to the input-image, with the 'brush-size' determining the size of the fields. .. image:: /images/en/Oilpaint-filter.png Brush-size Determines how large the individual patches are. The lower, the more detailed. Smoothness Determines how much each patch's outline is smoothed out. Posterize --------- This filter decreases the amount of colors in an image. It does this per component (channel). .. image:: /images/en/Posterize-filter.png -The :guilabel:`steps` parameter determines how many colors are allowed per component. +The :guilabel:`Steps` parameter determines how many colors are allowed per component. diff --git a/reference_manual/preferences/general_settings.rst b/reference_manual/preferences/general_settings.rst index 6c9158336..8fc1256f6 100644 --- a/reference_manual/preferences/general_settings.rst +++ b/reference_manual/preferences/general_settings.rst @@ -1,214 +1,214 @@ .. meta:: :description: General Preferences in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Greig :license: GNU free documentation license 1.3 or later. .. index:: Preferences, Settings, Cursor, Autosave, Tabbed Documents, Subwindow Documents, Pop up palette, File Dialog, Maximum Brush Size, Kinetic Scrolling, Sessions .. _general_settings: ================ General Settings ================ You can access the General Category of the preferences by first going to :menuselection:`Settings --> Configure Krita`. .. image:: /images/en/Krita_Preferences_General.png Cursor Settings --------------- Customize the drawing cursor here: Cursor Shape ~~~~~~~~~~~~ Select a cursor shape to use while the brush tools are used. This cursor will always be visible on the canvas. It is usually set to a type exactly where your pen nib is at. The available cursor types are shown below. Tool Icon Shows the currently selected tool icon, even for the freehand brush. .. image:: /images/en/Settings_cursor_tool_icon.png Arrow Shows a generic cursor. .. image:: /images/en/Settings_cursor_arrow.png Crosshair Shows a precision reticule. .. image:: /images/en/Settings_cursor_crosshair.png Small circle Shows a small white dot with a black outline. .. image:: /images/en/Settings_cursor_small_circle.png No Cursor Show no cursor, useful for tablet-monitors. .. image:: /images/en/Settings_cursor_no_cursor.png Triangle Right-Handed. Gives a small white triangle with a black border. .. image:: /images/en/Settings_cursor_triangle_righthanded.png Triangle Left-Handed. Same as above but mirrored. .. image:: /images/en/Settings_cursor_triangle_lefthanded.png Black Pixel Gives a single black pixel. .. image:: /images/en/Settings_cursor_black_pixel.png White Pixel Gives a single white pixel. .. image:: /images/en/Settings_cursor_white_pixel.png Outline Shape ~~~~~~~~~~~~~ Select an outline shape to use while the brush tools are used. This cursor shape will optionally show in the middle of a painting stroke as well. The available outline shape types are shown below.(pictures will come soon) No Outline No outline. Circle Outline Gives a circular outline approximating the brush size. Preview Outline Gives an outline based on the actual shape of the brush. Tilt Outline Gives a circular outline with a tilt-indicator. While Painting... ~~~~~~~~~~~~~~~~~ Show Outline This option when selected will show the brush outline while a stroke is being made. If unchecked the brush outline will not appear during stroke making, it will show up only after the brush stroke is finished. This option works only when Brush Outline is selected as the Cursor Shape. .. versionchanged:: 4.1 Used to be called "Show Outline When Painting" Use effective outline size .. versionadded:: 4.1 This makes sure that the outline size will always be the maximum possible brush diameter, and not the current one as affected by sensors such as pressure. This makes the cursor a little less noisy to use. .. _window_settings: Window Settings Multiple Document Mode This can be either tabbed like :program:`GIMP` or :program:`Painttool Sai`, or subwindows, like :program:`Photoshop`. Background image Allows you to set a picture background for subwindow mode. Window Background Set the color of the subwindow canvas area. Don't show contents when moving sub-windows This gives an outline when moving windows to work around ugly glitches with certain graphics-cards. Show on-canvas popup messages Whether or not you want to see the on-canvas pop-up messages that tell you whether you are in tabbed mode, rotating the canvas, or mirroring it. Enable Hi-DPI support Attempt to use the Hi-DPI support. It is an option because we are still experiencing bugs on windows. Allow only one instance of Krita An instance is a single entry in your system's task manager. Turning this option makes sure that Krita will check if there's an instance of Krita open already when you instruct it to open new documents, and then have your documents opened in that single instance. There's some obscure uses to allowing multiple instances, but if you can't think of any, just keep this option on. Tool options ------------ In docker (default) Gives you the tool options in a docker. In toolbar Gives you the tool options in the toolbar, next to the brush settings. You can open it with :kbd:`\\`. Switch Control/Alt Selection Modifiers This switches the function of the :kbd:`Ctrl` and :kbd:`Alt` buttons when modifying selections. Useful for those used to Gimp instead of Photoshop, or Lefties without a right-:kbd:`Alt` key on their keyboard. Enable Touchpainting This allows finger painting with capacitive screens. Some devices have both capacitive touch and a stylus, and then this can interfere. In that case, just toggle this. Kinetic Scrolling (Needs Restart) This enables kinetic scrolling for scrollable areas. .. figure:: /images/en/Krita_4_0_kinetic_scrolling.gif :align: center Kinetic scrolling on the brush chooser drop-down with activation mode set to :guilabel:`On Click Drag`, with this disabled all of these clicks would lead to a brush being selected regardless of drag motion. Activation How it is activated. Disabled Will never activated. On Touch Drag - Will activate if it can recognise a touch event. May not always work. + Will activate if it can recognize a touch event. May not always work. On Click Drag - Will activate when it can recognise a click event, will always work. + Will activate when it can recognize a click event, will always work. Sensitivity How quickly the feature activates, this effective determines the length of the drag. Show Scrollbar Whether to show scrollbars when doing this. .. _misc_settings: Miscellaneous ------------- When Krita starts This is the option for handling user sessions. It has the following options: Open Default Window This opens the regular empty window with the last used workspace. Load Previous Session Load the last opened session. If you have :guilabel:`Save session when Krita closes` toggled, this becomes the last files you had open and the like. Show Session Manager Show the session manager directly so you can pick a session. .. versionadded:: 4.1 Save session when Krita closes Save the current open windows, documents and the like into the current session when closing Krita so you can resume where you left off. .. versionadded:: 4.1 Autosave Every Here the user can specify how often Krita should autosave the file. You can tick the checkbox to turn it off. For Windows, these files are saved in the %TEMP% directory. If you are on Linux they are stored in /home/'username'. Compress \*.kra files more. This increases the zip compression on the saved Krita files, which makes them lighter on disk, but this takes longer to load. Upon importing Images as Layers, convert to the image color space. This makes sure that layers are the same color space as the image, necessary for saving to PSD. Undo Stack Size This is the number of undo commands Krita remembers. You can set the value to 0 for unlimited undos. Favorite Presets This determines the amount of presets that can be used in the pop-up palette. Create Backup File When selected Krita will try to save a backup file in case of a crash. Hide splash screen on startup. This'll hide the splash screen automatically once Krita is fully loaded. Enable Native File Dialog This allows you to use the system file dialog. By default turned off because we cannot seem to get native file dialogues 100% bugfree. Maximum brush size This allows you to set the maximum brush size to a size of up to 10.000 pixels. Do be careful with using this, as a 10.000 pixel size can very quickly be a full gigabyte of data being manipulated, per dab. In other words, this might be slow. Recalculate animation cache in background. Krita will recalculate the cache when you're not doing anything. .. versionchanged:: 4.1 This is now in the :ref:`performance_settings` under :guilabel:`Animation Cache`. diff --git a/reference_manual/tools/colorize_mask.rst b/reference_manual/tools/colorize_mask.rst index 64299e034..1f5d7844e 100644 --- a/reference_manual/tools/colorize_mask.rst +++ b/reference_manual/tools/colorize_mask.rst @@ -1,174 +1,174 @@ .. meta:: :description: How to use the colorize mask in Krita. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Lazybrush, Colorize Mask, Masks, Layers, Flat Color .. _colorize_mask: ============= Colorize Mask ============= |toolcolorizemask| A tool for quickly coloring line art, the Colorize Mask Editing tool can be found next to the gradient tool on your toolbox. This feature is technically already in 3.1, but disabled by default because we had not optimized the filling algorithm for production use yet. To enable it, find your krita configuration file, open it in notepad, and add "disableColorizeMaskFeature=false" to the top. Then restart Krita. Its official incarnation is in 4.0. Usage ----- This tool works in conjunction with the colorize mask, and the usage is as follows: For this example, we'll be using the ghost lady also used to explain masks on :ref:`the basic concepts page `. .. image:: /images/en/Krita_4_0_colorize_mask_usage_01.png :width: 800 :align: center This image has the line art for the lady separated from the background, and what's more, the background is made up of two layers: one main and one for the details. First, select the colorize mask editing tool while having the line art layer selected. |mouseleft| the canvas will add a colorize mask to the layer. You can also |mouseright| the line art layer, and then :menuselection:`Add --> Colorize Mask`. The line art will suddenly become really weird, this is the prefiltering which are filters through which we put the line art to make the algorithm easier to use. The tool options overview below shows which options control that. .. image:: /images/en/Krita_4_0_colorize_mask_usage_02.png :width: 800 :align: center Now, You make strokes with brush colors, press :guilabel:`Update` in the tool options, or tick the last icon of the colorize mask properties. In the layer docker, you will be able to see a little progress bar appear on the colorize mask indicating how long it takes. The bigger your file, the longer it will take. .. image:: /images/en/Krita_4_0_colorize_mask_usage_03.png :width: 800 :align: center We want to have the blue transparent. In the tool options of the colorize editing tool you will see a small palette. These are the colors already used. You can remove colors here, or mark a single color as standing for transparent, by selecting it and pressing "transparent". Updating the mask will still show the blue stroke, but the result will be transparent: .. image:: /images/en/Krita_4_0_colorize_mask_usage_04.png :width: 800 :align: center Because the colorize mask algorithm is slow, and we only need a part of our layer to be filled to fill the whole ghost lady figure, we can make use of :guilabel:`Limit to layer bounds`. This will limit Colorize Mask to use the combined size of the line art and the coloring key strokes. Therefore, make sure that the colorizing keystrokes only take up as much as they really need. .. image:: /images/en/Krita_4_0_colorize_mask_usage_05.png :width: 800 :align: center Now the algorithm will be possibly a lot faster, allowing us to add strokes and press :guilabel:`Update` in rapid succession: .. image:: /images/en/Krita_4_0_colorize_mask_usage_06.png :width: 800 :align: center To see the final result, disable :guilabel:`Edit Key Strokes` or toggle the second to last icon on the colorize mask. .. image:: /images/en/Krita_4_0_colorize_mask_usage_07.png :width: 800 :align: center If you want to edit the strokes again, re-enable :guilabel:`Edit Key Strokes`. Now, the colorize mask, being a mask, can also be added to a group of line art layers. It will then use the composition of the whole group as the line art. This is perfect for our background which has two separate line art layers. It also means that the colorize mask will be disabled when added to a group with pass-through enabled, because those have no final composition. You can recognize a disabled colorize mask because its name is stricken through. To add a colorize mask to a group, select the group and |mouseleft| the canvas with the Colorize Mask editing tool, or |mouseright| the layer to :menuselection:`Add --> Colorize Mask`. .. image:: /images/en/Krita_4_0_colorize_mask_usage_08.png :width: 800 :align: center Now, we add strokes to the background quickly. We do not need to use the :menuselection:`Limit to Layer Bounds` because the background covers the whole image. .. image:: /images/en/Krita_4_0_colorize_mask_usage_09.png :width: 800 :align: center For the record, you can use other brushes and tools also work on the colorize mask as long as they can draw. The Colorize Mask Editing tool is just the most convenient because you can get to the algorithm options. Out final result looks like this: .. image:: /images/en/Krita_4_0_colorize_mask_usage_10.png :width: 800 :align: center Now we are done, |mouseright| the colorize mask and :menuselection:`Convert --> to Paint Layer`. Then, :menuselection:`Layer --> Split --> Split Layer`. This will give separate color islands that you can easily edit: .. image:: /images/en/Krita_4_0_colorize_mask_usage_11.png :width: 800 :align: center This way we can very quickly paint the image. Due to the colorize mask going from the first image to the following took only 30 minutes, and would've taken quite a bit longer. .. image:: /images/en/Krita_4_0_colorize_mask_usage_12.png :width: 800 :align: center The colorize masks are saved to the .kra file, so as long as you don't save and open to a different file format, nor convert the colorize mask to a paintlayer, you can keep working adjust the results. Tool Options ------------ Update Run the colorize mask algorithm. The progress bar for updates on a colorize mask shows only in the layer docker. Edit key strokes Put the mask into edit mode. In edit mode, it will also show the 'prefiltering' on the line art, which is for example a blur filter for gap closing. Show output - Show the output of the colorize mask. If :guilabel:`Edit key strokes` is active, this will be shown semi-transparently, so it will be easy to recognise the difference between the strokes and the output. + Show the output of the colorize mask. If :guilabel:`Edit key strokes` is active, this will be shown semi-transparently, so it will be easy to recognize the difference between the strokes and the output. .. figure:: /images/en/Krita_4_0_colorize_mask_show_output_edit_strokes.png :width: 800 :align: center On the **Left**: :guilabel:`Show Output` is on, :guilabel:`Edit Strokes` is off. In the **Middle**: :guilabel:`Show Output` and :guilabel:`Edit Strokes` are on. On the **Right**: :guilabel:`Show Output` is off and :guilabel:`Edit Strokes` is on.]] Limit to layer bounds Limit the colorize mask to the combined layer bounds of the strokes and the line art it is filling. This can speed up the use of the mask on complicated compositions, such as comic pages. Edge detection Activate this for line art with large solid areas, for example shadows on an object. For the best use, set the value to the thinnest lines on the image. In the image below, note how edge detection affects the big black areas: .. figure:: /images/en/Krita_4_0_colorize_mask_edge_detection.png :width: 800 :align: center From left to right: an example with big black shadows on an object but no edge detection, the same example without the edit strokes enabled. Then the same example with edge detection enabled and set to 2px, and that same example with out edit strokes enabled. Gap close hint While the algorithm is pretty good against gaps in contours, this will improve the gap recognition. The higher this value is, the bigger the gaps it will try to close, but a too high value can lead to other errors. Note how the pre-filtered line art (that's the blurry haze) affects the color patches. .. figure:: /images/en/Krita_4_0_colorize_mask_gap_close_hint.png :width: 800 :align: center On the **Left**: :guilabel:`Gap close hint` is 0px. In the **Middle**: :guilabel:`Gap close hint` is 15px (the lines are 10px). On the **Right**: :guilabel:`Gap close hint` is 275px. Clean-up strokes This will attempt to handle messy strokes that overlap the line art where they shouldn't. At 0 no clean up is done, at 100% the clean-up is most aggressive. .. image:: /images/en/Krita_4_0_colorize_mask_clean_up.png :width: 800 :align: center Key strokes This palette keeps track of the colors used by the strokes. This is useful so you can switch back to colors easily. You can increase the swatch size by hovering over it with the mouse, and doing :kbd:`Ctrl +` |mousescroll|. Transparent This button is under the keystrokes palette, you can mark the selected color to be interpreted a 'transparent' with this. In the clean-up screenshot above, cyan had been marked as transparent. Layer properties ---------------- The colorize mask layer has four properties. They are all the buttons on the right side of the layer: Show output The first button, it allows you to toggle whether you'll see the output from the colorize algorithm. Lock Stops the mask from being edited. Edit key strokes Whether the colorize mask is in edit mode. In edit mode it'll show the strokes, and the output will be semi-transparent. Update The last button will force the colorize mask to update, even when you're in a different tool. Colorize masks cannot be animated. diff --git a/reference_manual/tools/shape_edit.rst b/reference_manual/tools/shape_edit.rst index b316dc4aa..6fd55a199 100644 --- a/reference_manual/tools/shape_edit.rst +++ b/reference_manual/tools/shape_edit.rst @@ -1,171 +1,171 @@ .. meta:: :description: Krita's shape edit tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic :license: GNU free documentation license 1.3 or later. .. index:: Tools, Vector, Shape Edit .. _shape_edit_tool: =============== Shape Edit Tool =============== |toolshapeedit| The shape editing tool is for editing vector shapes. In Krita versions before 4.0 it would only show up in the docker when you had a vector shape selected. In Krita 4.0, this tool is always visible and has the Shape Properties docker as a part of it. .. image:: /images/en/Shape-editing-tool-example.png You can access the Edit Shapes tool by clicking on the icon in the toolbox, but you can also access it by pressing :kbd:`Enter` when in the Shape Selection tool and having a shape selected that can be most efficiently edited with the edit shapes tool (right now, that's all shapes but text). On Canvas Editing of Shapes --------------------------- As detailed further in the Tool Options, there's a difference between path shapes and specialised vector shapes that make it easy to have perfect ellipses, rectangles and more. Path Shapes ~~~~~~~~~~~ -Path shapes can be recognised by the different nodes they have. +Path shapes can be recognized by the different nodes they have. Paths in Krita are mostly bezier curves, and are made up of nodes. For straight lines, the nodes are connected by a line-segment and that's it. For curved lines, each node has a side handle to allow curving of that segment using the `cubic bezier curve algorithm `_ . **What that means, in short, is that moving the side handles into a given direction will make the segment curve in that direction, and the longer the line of the node to the side handle, the stronger the curving.** Selecting Nodes for Editing ^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can select a single node with |mouseleft|, they will turn bright green if selected. |mouseleft| + :kbd:`Shift` on unselected nodes will add them to a selection. |mouseleft| + drag will make a selection rectangle. All nodes whose handles are touched by the rectangle will be selected. This combines with |mouseleft| + :kbd:`Shift` above. Selected Nodes ^^^^^^^^^^^^^^ You can add and remove side handles from a selected node with |mouseleft| + :kbd:`Shift`. Krita has several node-types that allow you control the side handles more efficiently. These are the corner, smooth and symmetric modes. Corner Represented by a circle, the corner type allows you to have handles that can point in different directions and have different lengths. Smooth Represented by a square, the smooth type will ensure a smooth transition by always pointing the handles into opposite directions, but they can still have different lengths. Symmetric Represented by a diamond, the symmetric node will force handles to always point in opposite directions and have the same length. |mouseleft| + :kbd:`Ctrl` on a selected node will cycle between the node-types. :kbd:`Del` will remove the selected node. Selected Segments ^^^^^^^^^^^^^^^^^ Segments are the lines between nodes. Hovering over a segment will show a dotted line, indicating it can be selected. You can |mouseleft| and drag on a segment to curve it to the mouse point. Clicking on different parts of the segment and dragging will curve it differently. Double |mouseleft| on a segment will add a node on the segment under the mouse cursor. The new node will be selected. Other Shapes ~~~~~~~~~~~~ Shapes that aren't path shapes only have a single type of node: A small diamond like, that changes the specific parameters of that shape on-canvas. For example, you can change the corner radius on rectangles by dragging the nodes, or make the ellipse into a pie-segment. Tool Options ------------ .. image:: /images/en/Shape-editing-tool-tool-options.png Path shapes have options. The top left options are for converting to different anchor point types. The bottom left options are for adding or removing points. The top right options are for converting the line to different types. The bottom right options are for breaking and joining line segments. The tool options of the Edit Shapes Tool change depending on the type of shape you have selected. With the exception of the path shape, all shapes have a :guilabel:`Convert to Path` action, which converts said shape to a path shape. Path Shapes ~~~~~~~~~~~ |toolbeziercurve|, |toolline|, |toolpolyline|, |toolpolygon|, |toolfreehandpath| Path shapes are the most common shape and can be made with the following tools * :ref:`path_tool` * :ref:`line_tool` * :ref:`polygon_tool` * :ref:`polyline_tool` * :ref:`freehand_path_tool` Node Editing Edit the nodes. Corner Point Make the selected node a corner or cusp. This means that the side handles can point in different directions and be different lengths. Smooth Point Make the selected node smooth. The two side handles will always point in opposite directions, but their length can be different. Symmetric Point Make the selected node smooth. The two side handles will always point in opposite directions, and their length will stay the same. Insert Point Insert a new node into the middle of the selected segment. Remove Point Remove the selected node. Line Segment Editing Edit line segments between nodes. Segment To Line Make the current segment a straight line. Segment To Curve Make the current segment a curve: It'll add side handles for this segment to the nodes attached to it. Make Line Point Turn the selected node into a sharp corner: This will remove the side handles. Make Curve Point Turn the selected node into one that can curve: This will add side handles to the node. Break at Point Break the path at this point. Break Segment Break the path at the selected segment. Join with Segment Join two nodes that are only attached on one side with a segment. Merge Points Merge two nodes into one, if the nodes are adjacent or if both nodes are only attached on one side with a segment. Rectangle Shapes ~~~~~~~~~~~~~~~~ |toolrectangle| Rectangle shapes are the ones made with the :ref:`rectangle_tool`. It has extra options to make rounded corners easy. Corner radius x The radius of the y-axis of the corner curve. Corner radius y The radius of the y-axis of the corner curve. Ellipse Shapes ~~~~~~~~~~~~~~ |toolellipse| Ellipse shapes are the ones made with the :ref:`ellipse_tool`. Type The type of ellipse shape it is. Arc An arc shape will keep the path open when it isn't fully circular. Pie A pie shape will add two extra lines to the center when the shape isn't fully circular, like how one cuts out a piece from a pie. Cord A cord shape will add a straight line between the two ends if the path isn't fully circular, as if a cord is being strung between the two points. Start Angle The angle at which the shape starts. End Angle The angle at which the shape ends. Close Ellipse An action to quickly make the ellipse fully circular. diff --git a/reference_manual/tools/shape_selection.rst b/reference_manual/tools/shape_selection.rst index 451e7efd4..959461c5d 100644 --- a/reference_manual/tools/shape_selection.rst +++ b/reference_manual/tools/shape_selection.rst @@ -1,110 +1,110 @@ .. meta:: :description: Krita's shape selection tool reference. .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier - Scott Petrovic - Raghavendra Kamath :license: GNU free documentation license 1.3 or later. .. index:: Tools, Vector, Shape Selection .. _shape_selection_tool: ==================== Shape Selection Tool ==================== |toolshapeselection| -The shape selection tool used to be called the "default" tool. This had to do with Krita being part of an office suit once upon a time. But this is no longer the case, so we renamed it to its purpose in Krita: Selecting shapes! This tool only works on vector layers, so trying to use it on a paint layer will give a notification. +The shape selection tool used to be called the "default" tool. This had to do with Krita being part of an office suite once upon a time. But this is no longer the case, so we renamed it to its purpose in Krita: Selecting shapes! This tool only works on vector layers, so trying to use it on a paint layer will give a notification. After you create vector shapes, you can use this tool to select, transform, and access the shape's options in the tool options docker. There are a lot of different properties and things you can do with each vector shape. Selection --------- Selecting shapes works as follows. You can click on a shape to select a single shape. You can select multiple shapes with click drag. There's two types of drag action, a *blue* one and a *green* one. The blue one is created by dragging from left to right, and will only select shapes that are fully covered by it. The green selection is created from right to left and will select all shapes it touches. Rotating, Moving, Scaling, Skewing ---------------------------------- Once an object is selected, a dashed box will appear around the object. There are handles that you can pull and stretch the box to scale it. If you move your cursor just outside the corner handles you can rotate the object. Tool Options ------------ .. image:: /images/en/Vector-tool-options.png The tool options of this menu are quite involved, and separated over 3 tabs. Geometry ~~~~~~~~ Geometry is the first section. It allows you to precisely set the x, y, width and height. Anchor Lock This is not implemented at the moment. Uniform scaling When enabled, it will scale the stroke width with the shape, when not enabled, the stroke with will stay the same. Global coordinates Determines whether the width and height bars use the width and height of the object, while taking transforms into account. Opacity The general opacity, or transparency, of the object. Stroke ~~~~~~ The stroke tab determines how stroke around the object should look. The first set of buttons to choose is the fill of the stroke. This has the same features as the fill of the shape, so scroll down a bit for details on that. Then, there's the settings for the stroke style. Thickness The width of the stroke is determined by this entry. When creating a shape, Krita will use the current brush size to determine the width of the stroke. Cap and corner style If you press the button after the thickness entry, you will be able to set the stroke cap and the stroke corner style. Line-style Determines whether the stroke is solid or uses dashes and dots. Markers Which markers can be added to the stroke. Markers are little figures that will appear at the start, end or all the nodes in between depending on your configuration. Fill ~~~~ The fill of the shape. As this has the same features as the fill of the stroke, this is explained here as well. A fill can be a flat color, a gradient or a pattern. Or it can be nothing (transparent) None No fill. It's transparent. Color A flat color, you can select a new one by pressing the color button. Gradient This one has a few more options. Type A linear or radial gradient. Repeat How the gradient repeats itself. Preset A quick menu for choosing a base gradient to edit. You can edit the gradient in two ways. The first one is the actual gradient in the docker that you can manipulate. Vectors always use stop-gradients. The other way to edit gradients is editing their position on canvas. Patterns Patterns aren't implemented yet. Right-click menu ---------------- The shape selection tool has a nice right click menu that gives you several features. If you have an object selected, you can perform various functions like cutting, copying, or moving the object to the front or back. .. image:: /images/en/Vector-right-click-menu.png If you have multiple objects selected you can perform "Logical Operators" on them, or boolean operations as they are commonly called. It will be the last item on the right-click menu. You can combine, subtract, intersect, or split the objects. diff --git a/tutorials/making_an_azalea_with_the_transformation_masks.rst b/tutorials/making_an_azalea_with_the_transformation_masks.rst index ad02e19e5..85c5c7a2b 100644 --- a/tutorials/making_an_azalea_with_the_transformation_masks.rst +++ b/tutorials/making_an_azalea_with_the_transformation_masks.rst @@ -1,142 +1,142 @@ .. meta:: :description lang=en: Tutorial for making azalea with the help of transform masks .. metadata-placeholder :authors: - Wolthera van Hövell tot Westerflier :license: GNU free documentation license 1.3 or later. .. _making_an_azalea_with_the_transformation_masks: ============================================== Making An Azalea With The Transformation Masks ============================================== .. image:: /images/en/making-azalea/Krita-screencast-azaleas.png :alt: making azalea with transform masks .. note:: This page was ported from the original post on the main page Okay, so I’ve wanted to do a tutorial for transform masks for a while now, and this is sorta ending up to be a flower-drawing tutorial. Do note that this tutorial requires you to use **Krita 2.9.4 at MINIMUM**. It has a certain speed-up that allows you to work with transform masks reliably! I like drawing flowers because they are a bit of an unappreciated subject, yet allow for a lot of practice in terms of rendering. Also, you can explore cool tricks in Krita with them. Today’s flower is the Azalea flower. These flowers are usually pink to red and appear in clusters, the clusters allow me to exercise with transform masks! I got an image from Wikipedia for reference, mostly because it’s public domain, and as an artist I find it important to respect other artists. You can copy it and, if you already have a canvas, :menuselection:`Edit --> Paste into New Image` or :menuselection:`New --> Create from Clipboard`. Then, if you didn’t have a new canvas make one. I made an a5 300dpi canvas. This is not very big, but we’re only practicing. I also have the background colour set to a yellow-greyish colour (#CAC5B3), partly because it reminds me of paper, and partly because bright screen white can strain the eyes and make it difficult to focus on values and colours while painting. Also, due to the lack of strain on the eyes, you’ll find yourself soothed a bit. Other artists use #c0c0c0, or even more different values. So, if you go to :menuselection:`Window --> Tile`, you will find that now your reference image and your working canvas are side by side. The reason I am using this instead of the docker is because I am lazy and don’t feel like saving the wikipedia image. We’re not going to touch the image much. Let’s get to drawing! --------------------- .. image:: /images/en/making-azalea/Azelea_01_trunk-.png :alt: starting with the trunk and reference image First we make a bunch of branches. I picked a slightly darker colour here than usual, because I know that I’ll be painting over these branches with the lighter colours later on. Look at the reference how branches are formed. .. image:: /images/en/making-azalea/Azelea_02_drawing-flowers.png :alt: making the outline of the flowers Then we make an approximation of a single flower on a layer. We make a few of these, all on separate layers. We also do not colour pick the red, but we guess at it. This is good practice, so we can learn to analyse a colour as well as how to use our colour selector. If we’d only pick colours, it would be difficult to understand the relationship between them, so it’s best to attempt matching them by eye. .. image:: /images/en/making-azalea/Azelea_03_filling-flowers.png :alt: coloring the details and filling the flowers I chose to make the flower shape opaque quickly by using the *behind* blending mode. This’ll mean Krita is painting the new pixels behind the old ones. Very useful for quickly filling up shapes, just don’t forget to go back to *normal* once you’re done. .. image:: /images/en/making-azalea/Azelea_04_finished-setup.png :alt: finished setup for making azalea Now, we’ll put the flowers in the upper left corner, and group them. You can group by making a group layer, and selecting the flower layers in your docker with :kbd:`Ctrl` + |mouseleft| and dragging them into the group. The reason why we’re putting them in the upper left corner is because we’ll be selecting them a lot, and Krita allows you to select layers with kbd:`R` + |mouseleft| on the canvas quickly. Just hold :kbd:`R` and |mouseleft| the pixels belonging to the layer you want, and Krita will select the layer in the layer docker. Clone Layers ------------ Now, we will make clusters. What we’ll be doing is that we select a given flower and then make a new clone layer. A clone layer is a layer that is literally a clone of the original. They can’t be edited themselves, but edit the original and the clone layer will follow suit. Clone Layers, and File layers, are our greatest friends when it comes to transform masks, and you’ll see why in a moment. .. image:: /images/en/making-azalea/Azelea_05_clonelayer.png :alt: create clone layers of the flowers You’ll quickly notice that our flowers are not good enough for a cluster: we need far more angles on the profile for example. if only there was a way to transform them… but we can’t do that with clone layers. Or can we? Enter Transform Masks! ---------------------- Transform Masks are a really powerful feature introduced in 2.9. They are in fact so powerful, that when you first use them, you can’t even begin to grasp where to use them. Transform masks allow us to do a transform operation onto a layer, any given layer, and have it be completely dynamic! This includes our clone layer flowers! How to use them: |mouseright| the layer you want to do the transform on, and add a **Transform mask.** -A transform mask should now have been added. You can recognise them by the little ‘scissor’ icon. +A transform mask should now have been added. You can recognize them by the little ‘scissor’ icon. .. image:: /images/en/making-azalea/Azelea_06_transformmask.png :alt: adding transform masks to the cloned layers Now, with the transform mask selected, select the |tooltransform|, and rotate our clone layer. Apply the transform. You know you’re successful when you can hide the transform mask, and the layer goes back to its original state! You can even go and edit your transform! Just activate the |tooltransform| again while on a transform mask, and you will see the original transform so you can edit it. If you go to a different transform operation however, you will reset the transform completely, so watch out. .. image:: /images/en/making-azalea/Azelea_07_clusters.png :alt: adding more clusters We’ll be only using affine transformations in this tutorial (which are the regular and perspective transform), but this can also be done with warp, cage and liquify, which’ll have a bit of a delay (3 seconds to be precise). This is to prevent your computer from being over-occupied with these more complex transforms, so you can keep on painting. We continue on making our clusters till we have a nice arrangement. .. image:: /images/en/making-azalea/Azelea_08_leaves.png :alt: making leaves Now do the same thing for the leaves. .. image:: /images/en/making-azalea/Azelea_09_paintingoriginals.png :alt: painting originals Now, if you select the original paint layers and draw on them, you can see that all clone masks are immediately updated! Above you can see there’s been a new view added so we can focus on painting the flower and at the same time see how it’ll look. You can make a new view by going :menuselection:`Window --> New View` and selecting the name of your current canvas (save first!). Views can be rotated and mirrored differently. Now continue painting the original flowers and leaves, and we’ll move over to adding extra shadow to make it seem more lifelike! .. image:: /images/en/making-azalea/Azelea_10_alphainheritance_1.png :alt: using the alpha inheritance We’re now going to use *Alpha Inheritance*. Alpha inheritance is an ill-understood concept, because a lot of programs use *clipping masks* instead, which clip the layer’s alpha using only the alpha of the first next layer. Alpha inheritance, however, uses all layers in a stack, so all the layers in the group that haven’t got alpha inheritance active themselves, or all the layers in the stack when the layer isn’t in a group. Because most people have an opaque layer at the bottom of their layer stack, alpha inheritance doesn’t seem to do much. But for us, alpha inheritance is useful, because we can use all clone-layers in a cluster (if you grouped them), transformed or not, for clipping. Just draw a light blue square over all the flowers in a given cluster. .. image:: /images/en/making-azalea/Azelea_11_alphainheritance_2.png :alt: clipping the cluster with alpha inheritance Then press the last icon in the layer stack, the alpha-inherit button, to activate alpha-inheritance. .. image:: /images/en/making-azalea/Azelea_12_alphainheritance_3.png :alt: activate alpha inheritance Set the layer to *multiply* then, so it’ll look like everything’s darker blue. .. image:: /images/en/making-azalea/Azelea_13_alphainheritance_4.png :alt: multiplying the clipped shape Then, with multiply and alpha inheritance on, use an eraser to remove the areas where there should be no shadow. .. image:: /images/en/making-azalea/Azelea_14_alphainheritance_5.png :alt: remove extra areas with the eraser For the highlights use exactly the same method, AND exactly the same colour, but instead set the layer to Divide (you can find this amongst the Arithmetic blending modes). Using Divide has exactly the opposite effect as using multiply with the same colour. The benefit of this is that you can easily set up a complementary harmony in your shadows and highlights using these two. .. image:: /images/en/making-azalea/Azelea_15_alphainheritance_6.png :alt: add shadows and highlights with alpha inheritance technique Do this with all clusters and leaves, and maybe on the whole plant (you will first need to stick it into a group layer given the background is opaque) and you’re done! Transform masks can be used on paint layers, vector layers, group layers, clone layers and even file layers. I hope this tutorial has given you a nice idea on how to use them, and hope to see much more use of the transform masks in the future! You can get the file I made `here `_ to examine it further! (Caution: It will freeze up Krita if your version is below 2.9.4. The speed-ups in 2.9.4 are due to this file.)