Week 26,27: Photoshop brushes, Krita on Windows

I continued to work on Photoshop ( PS in text further) brush presets support in Krita. I was exploring what features we miss and I started to implement some of them. I implemented parsing of the brush and tip dynamics and brush properties serializing so far. Parsing of the presets is complicated as it can be somehow context related. Some attribute is present only when some other attribute is present. I realized that a lot of work will be needed to support the brush presets. I think that support of the PS brush presets is big project and with Action Plan II we don’t want only new features, but we aim for user-readiness and that means fixing serious bugs. I and Boudewijn, we decided to post-pone the brush preset support. My task was to write a list of missing features. I did that in our wiki, which was moved recently to http://community.kde.org/. As you can see there, it is quite a lot of work.

I managed to implement mirroring feature shortly before we decided to post-pone this task. So you can turn on mirroring of the brush mask in new dialog added to Pixel Brush. It is equivalent to Flip X, Flip Y from the PS. So far it is dynamic attribute controlled by sensor like pressure. If you use mouse+pressure and turn on mirroring and e.g. mirroring horizontally, the mask will be mirrored. Basically the mask is mirrored when pressure is more or equal of 0.5 (50%) which is what the sensor gives by default. If you use tablet, the pressure is changing. If you want to mirror the mask always, select pressure sensor and tweak the curve, so that it always gives 1.0 result (move the first point of the curve from bottom left to top left).

Brush mask mirroring

Brush masks can be mirrored vertically, horizontally or in both ways. Equivalent feature to Flip X, Flip Y in PS.

One interesting problem is where to put the feature in UI. Some features are shared among the brush masks (autobrush, predefined brush, text brush) like spacing and it is duplicated on every tab. It might be interesting to clean it in some way so that it is shared instead of duplicated. I did not know where to put the mirroring. If only to autobrush and make it part of the brush mask generation or if I should duplicate it on tabs like the spacing is. It is dynamic parameter in PS so I decided to implement it as sensor. It is not part of the brush mask generation, it is operation that post-process the brush mask. It can be dynamically controlled by pressure, tilt, randomness (fuzzy sensor) etc.

Then I was at Akademy for the first time. Thanks to the KDE e.V. I was able to go there. The travel expenses to Finland are quite big for Central East European. Thanks again.I had presentation about Krita, little bit similar to the one for Libre Graphics Meeting. I was demonstrating the brush engines a bit and talk about what I’m working on in Krita. You can see it on-line here. I was giving the presentation on Sunday. I attended also a lot of the program, it was interesting. E.g. Lubos Lunak’s KDE Performance or Tips&Tricks for KDE development was nice and some more I liked that I can’t remember now :)

We decided that I will spent the week devoted to Krita on Windows here. I joint the KDE Windows team at Akademy and I managed to build Krita on Windows with huge support from Patrick and others from KDE Windows team! It took few days. I complied Qt, kdelibs and some other dependencies. It took quite a lot of time. Especially Qt’s WebKit took forever to compile and kdelibs are also longer to compile. I compiled Krita on Windows 7 with MS Visual Studio Express (free edition) using emerge, tool written by the KDE Windows team. Nice tutorial I followed is on TechBase. After that it quite easy. Patrick prepared target krita for me. It builds only Krita and not other KOffice applications like KWord etc.All I needed to do is “emerge krita” and follow console if the compilation fails or not. We used kdelibs-4.4, it’s more stable, last time I tried, kdelibs were used from trunk and that had some compilation problem I was not able to solve. I split the compilation into steps as I knew that it took quite long to compile some dependencies. So I did emerge kdelibs-4.4 etc. Hopefully I managed to compile Krita, and then run it.I have development environment, I could develop Krita now on Windows. What is better is probably debugger. What is worse – valgrind does not work on Windows. I will stay in my beloved Linux environment.

Krita trunk on WindowsKrita on Windows: Native look&feel
Higher resolution

I was scared from the native look&feel from Windows, but that’s maybe because I don’t spend much time on Windows. Good thing is that you can tweak kdeglobals and use Oxygen for Widgets.

Krita on Windows: Oxygen

With Oxygen it looks more native to Linux user :)
Higher resolution

I tested Wacom Intuos 3 tablet on Windows. It worked, I prepared the screenshot with the tablet ^. You can see that pressure works! I had small problem, the tablet was not calibrated. I had small screen dependent offset between the stroke and cursor in both apps –  GIMP and in Krita. The performance was quite good and I think usable. I even used debug build which is usually slower then release build. Last problem that we need to solve is to have simple installer for users. I discussed with Patrick about it, but it is not very easy issue, so I don’t know what will happen. We will see.

That’s it. I will work on bug fixing these days. Also it seems like a lot of features will be scratched off from Action Plan and we will focus more on stability. I will report again next week 😉

This entry was posted in Krita. Bookmark the permalink.

15 Responses to Week 26,27: Photoshop brushes, Krita on Windows

  1. J. Janz says:

    Dude, all that is only reason for me to lament for the decision on krita to leave image editing features! Imagine what it would be for krita (and KDE! and FLOSS!) to be a great alternative to photoshop, with a great interface (GIMP’s main flaw), supporting their brushes and … with all their features! … Well, that’s what I had for krita and, BTW, It left me orphan on that, as I couldn’t find a match for all of it! I’m sad about all of this …

  2. LukasT says:

    @J. Janz:

    1. GIMP interface will be fixed in 2.8 to be Photoshop like
    2. PS brushes are going to be supported in Krita, just not this week :)
    3. all their features — can you code? Go and help us implement them. We aim for painting
    because we are small team
    4. Krita is not PS replacement, personally I suppose maybe Krita+GIMP >= PS

  3. slangkamp says:

    @J. Janz:

    Even though the main focus is painting, Krita has many image editing features. If someone want to build a application to compete he can use Krita as base. Currently there are no developers for this kind of project, especially if you want to have “all their features” (which would take years or even decades).

    For me it doesn’t seem that many open source developers are interested in cloning Photoshop.

  4. n-pigeon says:

    @ J. Janz

    Gimp 2.8 will be having much better and comfortable UI than PS. 😉

    Krita is digital painting app. 😛

  5. maninalift says:

    Am I right in thinking mypaint brush support is in the works? Will this include a library of presets like that in mypaint?

    For me the main issue Krita still has that stands in the way of it being ready for general use is performance (it’s still a lot slower than e.g. mypaint), is there more work planned on performance or is this just an issue with my system I am experiencing?

  6. Fri13 says:

    2.8 fix GIMP UI? GIMP UI is not almost perfect for multimonitor setups with virtual desktops when editing dozens of photos in row or same time. Photoshop UI does not even come close of that.

    And GIMP UI has been since 2.4 version very nicely possible to tweak to be wanted kind. Even to resemble the Adobe Photoshop. And if really wanted same menu names and menu positions. Then use the GimpShop fork.
    http://simplest-image-hosting.net/i0-gimp-ps-jpeg.jpeg Using tab shortcut, making KWin rules to keep both toolboxes top of other windows and you can have more flexible UI than what 2.8 can ever offer for very massive editing. And when we now are soon having working version of the activities in KDE SC then there starts really be more possibilites to have UI’s like GIMP has now.

    Krita has as well great UI, but it is designed for painting and not for photo manipulation where it really is lousy because you are forced to single window mode. And I like that Krita is focused to painting. It has strong direction and possibilites to achieve there more than Photoshop can achieve. Let just leave the image manipulation to digiKam (showFoto) (and so on. Like video editing to Kdenlive etc).

    I just believe that Krita should be unchained from KOffice and start be released with own release schedule.

  7. Silvio Grosso says:

    Just two words: GREAT JOB :-) 😉
    It is always a pleasure reading about all improvements regarding Krita’s development.

    About the choice of Krita to concentrate most efforts in becoming a Painting application, I am confident it is the right path to folllow.
    As of today, on Linux there are plenty of Open source software to handle pictures (DigiKam, Gimp, CinePaint, Hugin, F-spot, ShotWell, Darktable and so on and so forth….).
    As already explained, Gimp 2.8, which will be released towards the end of this year, is going to rock :-)

    Best regards,



  8. Fri13 says:

    Not = Now

  9. slangkamp says:

    @maninalift: MyPaint brush support is still in early development. It can load MyPaint brushes.
    Performance has been improved and is going to be further improved.

    @Fri13: Seperating Krita from KOffice is quite complicated as it’s very integrated into KOffice. In the long term Krita will become seperate application, but still be based on KOffice libraries.

  10. LukasT says:

    @maninalift: what is slow for you? give some details please, or report it on bugs.kde.org. If we don’t know what is slow for you, we can’t fix it.

  11. Kubuntiac says:

    So does this mean we’ll see Krita back in the KDE on Windows installer any time soon? Would be great to get Windows testers if users could install it once more without needing to learn to go through all the compiling you did! 😀

  12. LukasT says:

    @Kubuntiac: Krita is still in Windows Installer. But you have to install KOffice to have Krita :(

  13. Alexandre says:

    The inevitable battle between those who used recent versions of Photoshop and those who haven’t, but nevertheless think they know better :)

  14. Zoran says:

    Any chance for a tutorial how to build Krita on Windows ?

    I’m enthusiastic about Krita and would love to test development versions on Windows.


  15. Nicolas says:

    I would also like to test Krita on Windows.

    A full guide would be much appreciated.

    Thanks, Nicolas.

Leave a Reply