"Comic Dots" improvement; avoid tint around dots
This commit is contained in:
parent
c98ab135a5
commit
7ea39f8ea6
1 changed files with 13 additions and 6 deletions
|
|
@ -22,7 +22,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: September 23, 2024
|
Last updated: September 29, 2024
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
@ -156,7 +156,8 @@ static void do_comicdot(void *ptr, int which,
|
||||||
SDL_Surface * canvas, SDL_Surface * last, int x, int y)
|
SDL_Surface * canvas, SDL_Surface * last, int x, int y)
|
||||||
{
|
{
|
||||||
magic_api *api = (magic_api *) ptr;
|
magic_api *api = (magic_api *) ptr;
|
||||||
Uint8 r1, g1, b1, r, g, b, n, _, nr, ng, nb;
|
Uint8 r1, g1, b1, r, g, b, n, _;
|
||||||
|
// Uint8 nr, ng, nb;
|
||||||
Uint32 pixel;
|
Uint32 pixel;
|
||||||
int offx, offy;
|
int offx, offy;
|
||||||
SDL_Surface * pat;
|
SDL_Surface * pat;
|
||||||
|
|
@ -171,10 +172,16 @@ static void do_comicdot(void *ptr, int which,
|
||||||
r = ((r1 * n) + (comicdot_r * (255 - n))) / 255;
|
r = ((r1 * n) + (comicdot_r * (255 - n))) / 255;
|
||||||
g = ((g1 * n) + (comicdot_g * (255 - n))) / 255;
|
g = ((g1 * n) + (comicdot_g * (255 - n))) / 255;
|
||||||
b = ((b1 * n) + (comicdot_b * (255 - n))) / 255;
|
b = ((b1 * n) + (comicdot_b * (255 - n))) / 255;
|
||||||
nr = (r1 * r) / 255;
|
|
||||||
ng = (g1 * g) / 255;
|
/* N.B. This caused an unwanted outline around the effect
|
||||||
nb = (b1 * b) / 255;
|
when drawing on a non-white background */
|
||||||
pixel = SDL_MapRGB(canvas->format, nr, ng, nb);
|
//nr = (r1 * r) / 255;
|
||||||
|
//ng = (g1 * g) / 255;
|
||||||
|
//nb = (b1 * b) / 255;
|
||||||
|
//pixel = SDL_MapRGB(canvas->format, nr, ng, nb);
|
||||||
|
|
||||||
|
pixel = SDL_MapRGB(canvas->format, r, g, b);
|
||||||
|
|
||||||
api->putpixel(canvas, x, y, pixel);
|
api->putpixel(canvas, x, y, pixel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue