@@ -2667,17 +2667,12 @@ void ImageColorTint(Image *image, Color color)
2667
2667
2668
2668
Color * pixels = LoadImageColors (* image );
2669
2669
2670
- float cR = (float )color .r /255 ;
2671
- float cG = (float )color .g /255 ;
2672
- float cB = (float )color .b /255 ;
2673
- float cA = (float )color .a /255 ;
2674
-
2675
2670
for (int i = 0 ; i < image -> width * image -> height ; i ++ )
2676
2671
{
2677
- unsigned char r = (unsigned char )(((float )pixels [i ].r / 255 * cR ) * 255.0f );
2678
- unsigned char g = (unsigned char )(((float )pixels [i ].g / 255 * cG ) * 255.0f );
2679
- unsigned char b = (unsigned char )(((float )pixels [i ].b / 255 * cB ) * 255.0f );
2680
- unsigned char a = (unsigned char )(((float )pixels [i ].a / 255 * cA ) * 255.0f );
2672
+ unsigned char r = (unsigned char )(((int )pixels [i ].r * ( int ) color . r )/ 255 );
2673
+ unsigned char g = (unsigned char )(((int )pixels [i ].g * ( int ) color . g )/ 255 );
2674
+ unsigned char b = (unsigned char )(((int )pixels [i ].b * ( int ) color . b )/ 255 );
2675
+ unsigned char a = (unsigned char )(((int )pixels [i ].a * ( int ) color . a )/ 255 );
2681
2676
2682
2677
pixels [i ].r = r ;
2683
2678
pixels [i ].g = g ;
@@ -4639,15 +4634,10 @@ Color ColorTint(Color color, Color tint)
4639
4634
{
4640
4635
Color result = color ;
4641
4636
4642
- float cR = (float )tint .r /255 ;
4643
- float cG = (float )tint .g /255 ;
4644
- float cB = (float )tint .b /255 ;
4645
- float cA = (float )tint .a /255 ;
4646
-
4647
- unsigned char r = (unsigned char )(((float )color .r /255 * cR )* 255.0f );
4648
- unsigned char g = (unsigned char )(((float )color .g /255 * cG )* 255.0f );
4649
- unsigned char b = (unsigned char )(((float )color .b /255 * cB )* 255.0f );
4650
- unsigned char a = (unsigned char )(((float )color .a /255 * cA )* 255.0f );
4637
+ unsigned char r = (unsigned char )(((int )color .r * (int )tint .r )/255 );
4638
+ unsigned char g = (unsigned char )(((int )color .g * (int )tint .g )/255 );
4639
+ unsigned char b = (unsigned char )(((int )color .b * (int )tint .b )/255 );
4640
+ unsigned char a = (unsigned char )(((int )color .a * (int )tint .a )/255 );
4651
4641
4652
4642
result .r = r ;
4653
4643
result .g = g ;
0 commit comments