Various operations on images. Made using C# and .NET as a CMD application.
I used Floyd-Steinberg dithering alghorithm that uses error diffusion as its dithering method.
Here are some examples:
!!! due to downscaling, press on an image to see it in fullscreen !!!
![](https://private-user-images.githubusercontent.com/70145364/257289086-7e6caa94-c86d-415d-baae-de325987281d.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyODkwODYtN2U2Y2FhOTQtYzg2ZC00MTVkLWJhYWUtZGUzMjU5ODcyODFkLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlZjhjYWU4ZDEzZjY4ZGQ0YTg2YWI0NjAyNDM4N2M2YWM5MTYwNWU0MjYwM2NmMDVjMDI5Mjk1ODZkNzQ5MmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Kyu_87S4iD_b98luw95GFjw-4gxw_zmuBXO89ln2Yjg)
![](https://private-user-images.githubusercontent.com/70145364/257292489-dacaa92f-917a-4b2d-8457-543fa68d316d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyOTI0ODktZGFjYWE5MmYtOTE3YS00YjJkLTg0NTctNTQzZmE2OGQzMTZkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVlNDhmYzFlMWZiMTBhNjI1Zjg0NDEzM2E1MDYzNmM3OWRjMDgyMGMxMGUyMzJiYzUxMjNlNjM2ODE3YjAzOWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.cw_Du-SsGe0gsBaU9il_pwlo-mBrUm6DqJBKSke5Rxw)
![](https://private-user-images.githubusercontent.com/70145364/257289188-84785c05-cc73-484f-994e-96eccacf7250.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyODkxODgtODQ3ODVjMDUtY2M3My00ODRmLTk5NGUtOTZlY2NhY2Y3MjUwLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ0NTFlMjZmZjA4ZTE0ZTgyNmZiYTQ3YzRiNGE5YzM3MWE3OTFhNDRjOGVkYTY1YTE5Njk0Yzc3NWY5M2U1MzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.hrkoBHinFeYT86hNFg_--u7eRORXoeC09Kaz74c5Qvk)
![](https://private-user-images.githubusercontent.com/70145364/257292909-6ac8478a-60f2-4130-97ae-05c579f9791d.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyOTI5MDktNmFjODQ3OGEtNjBmMi00MTMwLTk3YWUtMDVjNTc5Zjk3OTFkLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ5YzU1ODBmYTU3Yzg4MWFjMTkxOTc4NGYwODI4OGI1ZjM0MzU2YTYwZDU4ZDQwOTI3ZGMxYjdkM2U1NjU0MTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.NJQYreuEmQY4-zgigvRBQmANs_zaFE_lfbCt1_THIuk)
![](https://private-user-images.githubusercontent.com/70145364/257289178-2ea2a958-2fd6-493f-8a39-7cc3df5f007b.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyODkxNzgtMmVhMmE5NTgtMmZkNi00OTNmLThhMzktN2NjM2RmNWYwMDdiLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZlY2E1YWEyNjNlNDE1MGY4MmViZDc3Mzg1NDZiYmNmZjk2ZTAxYmM4YjY3MTE1YjZmNDRjODRjOWQxYzE3ZTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.5un9dd7C63uruLUu6xaqATYKney1uj7Q8hN57bUpztg)
![](https://private-user-images.githubusercontent.com/70145364/257293209-5f44149f-f01a-476b-a06d-3df7e1b50785.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyOTMyMDktNWY0NDE0OWYtZjAxYS00NzZiLWEwNmQtM2RmN2UxYjUwNzg1LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY1NjQwNWUyYzE5YjNlNTc1OTZhMmM3NjgwYmI5MTM3NTk0MzQzYWZlMWMzNWU3NGI2MTQ1MzY5NGQ1MTc2YjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.f0LcmTbARkgMqheCfS262ISj6IwvSGtmc0XayLGr81M)
![](https://private-user-images.githubusercontent.com/70145364/257289144-e58fdd76-66fa-4ef0-9016-43baa2ea53fd.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyODkxNDQtZTU4ZmRkNzYtNjZmYS00ZWYwLTkwMTYtNDNiYWEyZWE1M2ZkLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0ZDE4NWM2OTc3ZWIxN2YxZTk5NGEzNGE4MGI2ZTkzODI2YjU0Y2FhMTYyYWZkZTgxNWUxMGQ2NGM2YTljYzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.cAEeNPFgcE7v1vBKZFwKNZc5bREU49P8hlBjquBvtBo)
![](https://private-user-images.githubusercontent.com/70145364/257293274-14a82dd2-8f51-4566-ae66-0e54eb24154a.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1MzYzNjQsIm5iZiI6MTcxOTUzNjA2NCwicGF0aCI6Ii83MDE0NTM2NC8yNTcyOTMyNzQtMTRhODJkZDItOGY1MS00NTY2LWFlNjYtMGU1NGViMjQxNTRhLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDAwNTQyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU2ZTc4ODJlYTg2YmU3N2E2MmNkZTUxZjRmYzFmOWM1NjNhYjJiYTEzY2MwODA3YzkwMWY4NTNiNTlkYTcxZjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.z7gFqUo_bXYZ3nRaeAhDWNiba1ExQVuC55T6WyEyrgI)