Monochrome in Krita : possible ?

Greetings guys.
I hope you’re doing well.

I was wondering. Is it possible to work in monochrome color space ?
By that I mean mostly pure black vs white, with grays not allowed, as they would simply convert to black.
Is this currently possible in Krita ?
The reason is because of comic work purposes. Working in such mode would allow to
digitally build an image that feels like it was scanned in monochrome.

I have a theory on this.
It might actually be possible to achieve such using a halftone filter…
Still experimenting and searching…

Nope, that’s not it.
Doesn’t work this way.
The Monochrome I’m talking about converts grays to black, literally.
Using a soft brush will give a big dot made of black pixels.
Also, there’s zero anti alias with this mode…
So… possible in Krita ?

If you put a filter layer at the top of the layers docker and make it a Threshold filer, you’ll appear to paint in black or white depending on the lightness (?) of the painted stroke.
Then you can do New Layer From Visible to get a permanently black/white result image layer.

Hi

That’s possible :slight_smile:
You’re on the right direction with Halftone filter, but maybe just not tried right options :wink:

Here the process applied on this original picture:

  1. Add a filter mask to layer
  • Choose “Halftone” filter
  • Select mode=“intensity”
  • Tab Screen Generator
    – Choose a “pattern” (Example with pattern “DITH 0404 ELLS (4X4x)” but other can be used, according to final dithering result expected)
  • Tab Postprocessing
    – Set Hardness to 100%

As my original image is a little bit dark, I’ve added another filter mask (color adjustment) to adjust lightness

Result: a 100% black/white picture (no grey, you can check!)

Final picture:

Grum999

4 Likes

Pretty cool.
This one could be truly suitable for toning.

The threshold filter keeps the grays.

Apparently, that kind of monochrome result is limited.
Like, it’s not available, say, as a color space.
And you know, drawing with the filter active consumes the resources.
Krita still relies on CPU as of now for graphic processing.

I think that mode is not available in krita. It is called indexed mode I think. There are only filters that others have suggested that you can try.

Ok…

  1. Your initial question was:
  1. Yourself, you’ve decided to use filters to get a pure black & white result
  1. Your conclusion was that using filters to get this result is not possible

I gave you the solution with filters that is working: you have pure black & white result.

So now yes, use of filter is CPU consuming.
But it’s working as you’ve asked :yum:


Now you’re talking about color space.

I think you don’t understand what is really a color space, and might confuse with color depth.
You’ll find here some explanations about difference.

If you want to work natively in pure black&white pixels, without any filter or too much CPU load, you have to work in a 1 bit depth color mode.

This mode doesn’t exist in Krita.

The nearest solution for this:

  1. Use Gimp:


    But, even Gimp is not really working in 1 bit depth mode; it’s a 8bit depth limited to 2 colors palette

  2. If your goal is to work in black&white with a reduced memory footprint, the best you can have in Krita is the Greyscale/Alpha 8bit integer/channel mode (ie: 16bit per pixel instead of 32bit)


    And then, if you don’t wan’t to have any greyscale, use pixel art brushes to work:
    – 3 are provided by default with Krita
    image
    – More are provided by @Rakurri’s brush set:
    Rakurri Brush Set - Free Krita brushes 😁 - #14 by Rakurri
    Or just apply a filter to your picture at the end

Grum999

Looks like color depth was the right term.
And 1-bit depth seems to be what I was talking about.

Uhm. Not exactly in this way.
Think of the literal result : every light value becomes black and there are no gaps or dithers or tones made of arranged black dots.

So it’s not “the” solution, but “a way”. And this way you’ve shown, fits toning perfectly.
But what I was looking for is a color expression that behave like a 1 bit color depth, which supports only black, and white.

I’m saying this because I also added as detail, that a soft brush should give a big black pixel dot, like if it was hard rather than soft. There are no values transitions. :thinking:

You mean, something like this?

Just do the right settings to get the effect you want…
I applied a toning for the example because I didn’t understand what you exactly want, sorry…

Grum999

Yep.
Like that.
But filters are resource hungry. As I tried an application, I had consistent lags between my strokes.

I just wish there was a more efficient and covenient way to do this.

Now where did I get this idea ?
I got it by sing CSP.

Apprently, rather than color space/color depth, they just provide a “color expression” setting which supports three modes : color, gray and monochrome.

I was interested in the monochrome one. It didn’t seem like a filter in the app and drawing with this mode is butter fast, even though I use an old laptop.

In the layer properties, there’s an integrated toning mode(only with gray though).
And this toning mode is achievable in Krita using the way you’ve shown earlier.

But filter or not, Clip Studio apparently, computes graphics elements faster than Krita.
Creation of a new file is faster, brush strokes are also faster, etc.
I just suspect it’s because they’re in advance regarding integration of an interface that targets GPU mostly for graphic elements, on the canvas at least.

Anyway. There are workarounds.
My final resolution was to use a brush with sharpness modifier to fake it.
The result is close enough.

No, CSP doesn’t use the GPU at all. They do have a dedicated 1 bit layer type, though, which we could implement, given enough time and a real need for the feature.

1 Like

Aahhh… I see. :thinking:

CSP computes strokes impressively fast though. And I don’t know they managed to do that with CPU performance.
Other than that, I’ve read that CPU cores are faster than GPU cores and can provide better rendering quality. However, GPU have hundreds times more cores than CPUs, and so, they can handle heavy graphics data better. But it was just a quick read.
My old core i7 3610QM gives faster strokes as well in CSP.
And they’re faster than in Krita, but I suspect the reason to be because the app cursor is rendered by the system rather than the canvas in CSP.

Strange thought… cursor rendering might not take so much time I hope
You can deactivate cursor in Krita, just to see if it’s faster without it, but I have a doubt

Grum999

And nope. it’s not faster when it’s deactivated in Krita.
Though, if the cursor outline was rendered as system cursor, I guess it’d be faster ?
Well maybe the strokes would have a slight lag like the way it happens currently.

I think it’s nanoseconds differences maybe…
But if by deactivating completely the outline rendering in Krita you don’t see differences, this might not be the origin of your problem :man_shrugging:

Grum999