I normally draw simple sprite shape in bright red
and then just use set color effect
to get whatever colour I'm after
But it's completely stumping me on how to change it to black or grey without having to manipulate the pixel values directly
I normally draw simple sprite shape in bright red
and then just use set color effect
to get whatever colour I'm after
But it's completely stumping me on how to change it to black or grey without having to manipulate the pixel values directly
I'm going down the colour rabbit hole once again
I'm currently at this point
Looking at Snap! function transform_HSV code - it looks like whenever a set colour or set saturation or set brightness block is processed, each sprite pixel is converted from RGB to HSV colour space -Note brightness and value (V) refer to the same thing
Then there is a LOT of code with lots of ifs in it manipulating these HSV values and finally the HSV data is converted back to RGB and pixel updated
My understanding of HSV is that a full bright red RGB 255,0,0 is converted to HSV 0, 100,100
My next understanding is that reducing V to 50 should change the the RGB to 127,0,0
And if V is reduced to 0, we should get 0,0,0
But if I use set brightness to 0 in Snap!, nothing happens to the colour of the sprite
Is this a bug/feature in Snap! or am I not understanding colours - this wouldn't be the first time
I just played around with the Colors and Crayon library
and these work like I think they should - changing V to 0 changes the RGB value to 0,0,0
Black and white are a neutral colours. Need is change the brightest to set black or white colour- more nothing I can say
I think the problem is that you're confusing pen color with sprite color. They are the same if the sprite is wearing its turtle costume, but since you made a different costume for it, the two are independent. After some experimentation I found that what you need is
which I confess isn't what I expected.
I wasn't confusing pen color with sprite color - I just used the pen blocks to check how they behaved
Your discovery that using -ve values for saturation and brightness, does let me desaturate a sprite and convert it to a black-> white greyscale.
So that is solution for my original problem
It has sorted my project out which is a simulation of this Neopixels digital twin project
Red indicates North on the compass so you can see the current heading of the Mayflower MAS400 craft I talked about at SnapCon21
Very cool!
Topic probably was resolved, yes?
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.