summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKushal K S V S <kkushal32@gmail.com>2017-07-12 00:30:08 +0530
committerKushal K S V S <kkushal32@gmail.com>2017-07-12 00:30:08 +0530
commit1843f93d75878178d7e17868cb7f1469651db5b8 (patch)
treef6f0af4ed346e405712b70cbd2eb66f56382236a
parent0cd3385ee0d968d3bebcf2318b15e0946658fa85 (diff)
downloadfreetype2-1843f93d75878178d7e17868cb7f1469651db5b8.tar.gz
Add PNG effect 1 (Gray + Red)
-rw-r--r--tests/make_png/bitmap.c42
-rw-r--r--tests/make_png/bitmap.h4
2 files changed, 46 insertions, 0 deletions
diff --git a/tests/make_png/bitmap.c b/tests/make_png/bitmap.c
index 3f3ca4a3f..0f6232160 100644
--- a/tests/make_png/bitmap.c
+++ b/tests/make_png/bitmap.c
@@ -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;
+ }
+ }
+ }
+}
diff --git a/tests/make_png/bitmap.h b/tests/make_png/bitmap.h
index bed203db9..da3c03e10 100644
--- a/tests/make_png/bitmap.h
+++ b/tests/make_png/bitmap.h
@@ -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);