Someone
public text v1 · immutablevoid set_image_alpha(Image *image, unsigned char alpha) {
int i, size;
Color *pixel;
unsigned int alpha_mod;
if(!image || !image->data)
return;
size = image->textureWidth * image->textureHeight;
pixel = image->data;
if(alpha > 100) alpha = 100;
alpha_mod = ((alpha * 255) / 100) << 24;
for(i = 0; i <= size; i++) {
*pixel = (*pixel & 0x00ffffff) | alpha_mod;
pixel++;
}
}