DAY 009:_PutImage
#15
(11-15-2022, 04:20 AM)james2464 Wrote: Nice to know about this.  Now I wonder what "SMOOOTH" does...

From what I understand, SMOOTH basically just blends color values together to reduce such sharp transitions and edges in an image.  For example, let's say I have an image where the red values look like this in a 3x3 block of pixels:


0,100,0
50,0,50
0,100,0

Now, that center pixel originally had a value of 0, but after we smooth it with all its surrounding pixels, we end up taking the average of whatever that value is.  0+ 100+ 0 + 50 + 0 + 50+0+100+0= 300 ... 300 / 9 = 33.333

So, not counting any smoothing of the rest of the pixels (as they'd smooth to blend in with their 8 neighbors), our color values would now look like:

0, 100, 0
50, <33>, 50
0, 100, 0

See where that value "smoothed" out so it isn't such a sharp change all at once in those values?  Wink

Now, imagine drawing a white box on a black screen.

0,0,100
0,0,100
0,0,100

^ 0 for the "NO white value" to start with, and 100 for "ALL white value". (Just cause it makes math easier than 255 does.)

All those adjoining black edges (of the left side of the box) are going to be surrounded by the pattern showcased above.  Add their neighbor's values and they're all going to end up being 300 / 9 = 33.33.

For the white side of the box/screen border, what we'd see would be:

0,100,100
0,100,100
0,100,100

Which ends up basically being 600/9 = 66.66.

So, at the end of the day, our box's edge no longer looks like:

0,0,100,100
0,0,100,100
0,0,100,100
0,0,100,100

It's now:

0,33,66,100
0,33,66,100
0,33,66,100
0,33,66,100

We smoothed out that hard edge and softened that transition from black to white.



Now, of course, our QB64 _SMOOTH in putimage is working with RGBA colors from 0 to 255, and not just the simple black/white values that I used above from 0 to 100, but the basic concept is the same -- take one pixel and smooth it with its neighbors to reduce sharp edges and add gentler transitions to your image.  Smile
Reply


Messages In This Thread
DAY 009:_PutImage - by bplus - 11-15-2022, 12:00 AM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 12:23 AM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 12:32 AM
RE: DAY 009:_PutImage - by PhilOfPerth - 11-15-2022, 01:25 AM
RE: DAY 009:_PutImage - by mnrvovrfc - 11-15-2022, 12:38 AM
RE: DAY 009:_PutImage - by james2464 - 11-15-2022, 01:09 AM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 01:22 AM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 01:49 AM
RE: DAY 009:_PutImage - by PhilOfPerth - 11-15-2022, 01:58 AM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 02:19 AM
RE: DAY 009:_PutImage - by SMcNeill - 11-15-2022, 02:33 AM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 03:18 AM
RE: DAY 009:_PutImage - by Pete - 11-15-2022, 03:25 AM
RE: DAY 009:_PutImage - by grymmjack - 08-27-2023, 10:32 PM
RE: DAY 009:_PutImage - by james2464 - 11-15-2022, 04:20 AM
RE: DAY 009:_PutImage - by SMcNeill - 11-15-2022, 11:23 AM
RE: DAY 009:_PutImage - by james2464 - 11-15-2022, 04:32 PM
RE: DAY 009:_PutImage - by madscijr - 11-15-2022, 03:54 PM
RE: DAY 009:_PutImage - by SMcNeill - 11-15-2022, 04:37 PM
RE: DAY 009:_PutImage - by james2464 - 11-15-2022, 04:43 PM
RE: DAY 009:_PutImage - by Pete - 11-15-2022, 04:43 PM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 04:52 PM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 02:57 PM
RE: DAY 009:_PutImage - by james2464 - 11-15-2022, 07:19 PM
RE: DAY 009:_PutImage - by SMcNeill - 11-15-2022, 07:33 PM
RE: DAY 009:_PutImage - by james2464 - 11-15-2022, 08:20 PM
RE: DAY 009:_PutImage - by james2464 - 11-15-2022, 08:49 PM
RE: DAY 009:_PutImage - by bplus - 11-15-2022, 11:22 PM
RE: DAY 009:_PutImage - by SMcNeill - 11-15-2022, 11:46 PM
RE: DAY 009:_PutImage - by james2464 - 11-16-2022, 12:10 AM
RE: DAY 009:_PutImage - by SMcNeill - 11-16-2022, 01:00 AM
RE: DAY 009:_PutImage - by james2464 - 11-16-2022, 01:27 AM
RE: DAY 009:_PutImage - by james2464 - 11-16-2022, 03:48 AM
RE: DAY 009:_PutImage - by SMcNeill - 11-16-2022, 03:55 AM
RE: DAY 009:_PutImage - by james2464 - 11-16-2022, 04:01 AM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 02:45 PM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 02:54 PM
RE: DAY 009:_PutImage - by bplus - 11-16-2022, 05:21 AM
RE: DAY 009:_PutImage - by SMcNeill - 11-16-2022, 04:07 AM
RE: DAY 009:_PutImage - by james2464 - 11-16-2022, 04:38 AM
RE: DAY 009:_PutImage - by grymmjack - 08-27-2023, 09:58 PM
RE: DAY 009:_PutImage - by bplus - 08-27-2023, 11:16 PM
RE: DAY 009:_PutImage - by grymmjack - 08-27-2023, 11:51 PM
RE: DAY 009:_PutImage - by grymmjack - 08-28-2023, 12:14 AM
RE: DAY 009:_PutImage - by a740g - 08-28-2023, 07:49 AM
RE: DAY 009:_PutImage - by grymmjack - 08-28-2023, 11:32 AM
RE: DAY 009:_PutImage - by grymmjack - 08-28-2023, 11:51 AM
RE: DAY 009:_PutImage - by bplus - 08-28-2023, 01:33 AM
RE: DAY 009:_PutImage - by bplus - 08-29-2023, 03:21 PM
RE: DAY 009:_PutImage - by grymmjack - 08-29-2023, 10:41 PM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 01:58 PM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 02:36 PM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 02:41 PM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 02:42 PM
RE: DAY 009:_PutImage - by grymmjack - 09-02-2023, 02:45 PM



Users browsing this thread: 26 Guest(s)