aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-08-07 20:47:27 +0200
committerkdx <kikoodx@paranoici.org>2023-08-07 20:47:27 +0200
commitd1848d72fbb742ec15ac35a33c00987f2baed9e0 (patch)
tree8f9cf6f69022cb564940458327ec22182c6e4d76
parent61cde942fe0e246ba4ff7df58a615e739a4f9366 (diff)
downloadkld-d1848d72fbb742ec15ac35a33c00987f2baed9e0.tar.gz
altlines and altcolumns
-rw-r--r--.gitignore1
-rw-r--r--main.c5
-rw-r--r--src/image.c26
-rw-r--r--src/image.h4
4 files changed, 34 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 7176eb4..884de84 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/a.out
/tests
+/*.png
diff --git a/main.c b/main.c
index c1b0dd0..27c8918 100644
--- a/main.c
+++ b/main.c
@@ -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: