Add PNG effect 1 (Gray + Red)

This commit is contained in:
Kushal K S V S 2017-07-12 00:30:08 +05:30
parent efd9510850
commit 417f5e3c59
2 changed files with 46 additions and 0 deletions

View File

@ -337,3 +337,45 @@ void Read_PNG(char *filename, IMAGE * after_effect) {
fclose(fp);
}
void Add_effect_1(IMAGE* base, IMAGE* test, IMAGE* out){
out->pixels = (PIXEL*)malloc(base->width * base->height * sizeof(PIXEL));
PIXEL temp;
for(int y = 0; y < base->height; y++) {
for(int x = 0; x < base->width; x++ ) {
PIXEL * pixel_base = Pixel_At ( base, x, y);
PIXEL * pixel_test = Pixel_At ( test, x, y);
PIXEL * pixel_out = Pixel_At ( out, x, y);
if (pixel_base->red == 255 &&
pixel_base->green == 255 &&
pixel_base->blue == 255 &&
pixel_base->alpha == 255 )
{
pixel_out->red = 255;
pixel_out->green = 255;
pixel_out->blue = 255;
pixel_out->alpha = 255;
}else{
pixel_out->red = 127;
pixel_out->green = 127;
pixel_out->blue = 127;
pixel_out->alpha = 255;
}
if (pixel_base->red != pixel_test->red ||
pixel_base->green != pixel_test->green ||
pixel_base->blue != pixel_test->blue ||
pixel_base->alpha != pixel_test->alpha )
{
pixel_out->red = 255;
pixel_out->green = 0;
pixel_out->blue = 0;
pixel_out->alpha = 255;
}
}
}
}

View File

@ -66,3 +66,7 @@ void Make_PNG(FT_Bitmap* bitmap,char* name,int i,int render_mode);
int Generate_PNG (IMAGE *bitmap, const char *path,int render_mode);
// Read PNG
void Read_PNG(char *filename, IMAGE * after_effect);
// Add an effect using two PNG images
// Base Glyph = Gray {127,0,0,255}
// Differences = Red {255,0,0,255}
void Add_effect_1(IMAGE* base, IMAGE* test, IMAGE* out);