diff options
author | kdx <kikoodx@paranoici.org> | 2023-08-07 20:47:27 +0200 |
---|---|---|
committer | kdx <kikoodx@paranoici.org> | 2023-08-07 20:47:27 +0200 |
commit | d1848d72fbb742ec15ac35a33c00987f2baed9e0 (patch) | |
tree | 8f9cf6f69022cb564940458327ec22182c6e4d76 | |
parent | 61cde942fe0e246ba4ff7df58a615e739a4f9366 (diff) | |
download | kld-d1848d72fbb742ec15ac35a33c00987f2baed9e0.tar.gz |
altlines and altcolumns
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | main.c | 5 | ||||
-rw-r--r-- | src/image.c | 26 | ||||
-rw-r--r-- | src/image.h | 4 |
4 files changed, 34 insertions, 2 deletions
@@ -1,2 +1,3 @@ /a.out /tests +/*.png @@ -10,9 +10,10 @@ main(int argc, char **argv) } KldImage *img = kld_load(argv[1]); + kld_altcolumns(img); kld_sand(img); - kld_grayscale(img); - kld_chaos3(img); + kld_altlines(img); + kld_bit3(img); kld_writePAM(img, stdout); kld_free(img); diff --git a/src/image.c b/src/image.c index 4103250..2909218 100644 --- a/src/image.c +++ b/src/image.c @@ -453,6 +453,32 @@ kld_sand(KldImage *img) } void +kld_altcolumns(KldImage *img) +{ + NULL_SAFETY(); + + for (size_t y = 0; y < img->height; y++) { + for (size_t x = 1; x < img->width; x += 2) { + const KldColor tmp = kld_get(img, x, y); + kld_set(img, x, y, kld_get(img, x - 1, y)); + kld_set(img, x - 1, y, tmp); + } + } +} + +void +kld_altlines(KldImage *img) +{ + for (size_t y = 1; y < img->height; y += 2) { + for (size_t x = 0; x < img->width; x++) { + const KldColor tmp = kld_get(img, x, y); + kld_set(img, x, y, kld_get(img, x, y - 1)); + kld_set(img, x, y - 1, tmp); + } + } +} + +void kld_mod(KldImage *img, KldColor mask) { NULL_SAFETY(); diff --git a/src/image.h b/src/image.h index 67a4bb1..59758a6 100644 --- a/src/image.h +++ b/src/image.h @@ -56,6 +56,10 @@ void kld_bit3(KldImage *img); void kld_sand(KldImage *img); +void kld_altcolumns(KldImage *img); + +void kld_altlines(KldImage *img); + void kld_mod(KldImage *img, KldColor mask); /* cmd examples: |