{"id":13342147,"url":"https://github.com/julzerinos/csharp-image-processing","last_synced_at":"2025-03-12T00:30:58.253Z","repository":{"id":53504071,"uuid":"243310678","full_name":"julzerinos/csharp-image-processing","owner":"julzerinos","description":"Image processing methods, algorithms and bitmap drawing recreated in C# Winforms. RIP MS Paint 1985 - 2017.","archived":true,"fork":false,"pushed_at":"2021-03-27T17:12:56.000Z","size":526,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-24T12:09:41.530Z","etag":null,"topics":["antialiasing","bitmap","bitmap-graphics","clipping-algorithm","clipping-polygons","convolution-filters","csharp","drawing","drawing-app","filters","floodfill","gaussian-filter","grayscale","image-filters","image-processing","midpoint-algorithm","octree-quantizer","polygon-fill","winforms","ycbcr"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/julzerinos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-26T16:29:49.000Z","updated_at":"2024-07-22T05:56:59.000Z","dependencies_parsed_at":"2022-09-19T22:32:19.949Z","dependency_job_id":null,"html_url":"https://github.com/julzerinos/csharp-image-processing","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julzerinos%2Fcsharp-image-processing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julzerinos%2Fcsharp-image-processing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julzerinos%2Fcsharp-image-processing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julzerinos%2Fcsharp-image-processing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julzerinos","download_url":"https://codeload.github.com/julzerinos/csharp-image-processing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243136265,"owners_count":20241987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antialiasing","bitmap","bitmap-graphics","clipping-algorithm","clipping-polygons","convolution-filters","csharp","drawing","drawing-app","filters","floodfill","gaussian-filter","grayscale","image-filters","image-processing","midpoint-algorithm","octree-quantizer","polygon-fill","winforms","ycbcr"],"created_at":"2024-07-29T19:28:04.431Z","updated_at":"2025-03-12T00:30:57.898Z","avatar_url":"https://github.com/julzerinos.png","language":"C#","readme":"# Image processing in C# Winforms\n\nThis project aims to recreat various image/bitmap processing methods and algorithms in a C# Winforms environment.  \n\n## Image processing features\n\nThe following options are available for image processing.\n\n### Image processor window\n\n * Displays the original and modified image side by side\n * You can directly copy from the modified image context menu\n * You can select the image view mode from \"fit\" and \"view original size\" \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/1.png\"\u003e\n\u003c/p\u003e\n\n### Filters\n\n * You can apply a wide variety of functional as well as convolution filters\n * You can add as many layers as you like\n * Order of applying filters is taken into account\n * A caching system stores each bitmap for a given order of filter layers\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/2.png\"\u003e\n\u003c/p\u003e\n\n### Custom convolution kernel\n\n * Adds a custom kernel to the filters list\n * You can edit the kernel setup in a the Edit Kernel window\n * You can choose row and column count, kernel divisor (by default set automatically to sum of all cells), value offset and anchor point (wrt. applied cell)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/3.png\"\u003e\n\u003c/p\u003e\n\n### Filter options window\n\n* Changes the values used in certain filters\n* Reapplies all current layers\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/4.png\"\u003e\n\u003c/p\u003e\n\n### YCbCr colorspace split\n\n* Displays the current (modified) image [YCbCr colorspace](https://en.wikipedia.org/wiki/YCbCr) split\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/5.png\"\u003e\n\u003c/p\u003e\n\n## Bitmap creation features\n\nThe following options are available for bitmap creation (accessible via the Drawing window)\n\n### Drawing window\n\n * A seperate window for all your bitmap creation needs\n * Allows saving and opening states (stored in serialized binary files)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/6.png\"\u003e\n\u003c/p\u003e\n\n### Shapes\n\n * Various shapes can be created simply by clicking\n * These are vector object shapes, stored and treated as objects (ie. circle has an origin point and a radius)\n * All shapes can be moved, redrawn or removed in the shapes menu (color and thickness taken into account while redrawing)\n * Polygons may be clipped\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/7.png\"\u003e\n\u003c/p\u003e\n\n### Additional setup\n\n * Background color may be changed\n * Anti-aliasing may be turned on and off for shapes using midpoint lines\n * The clipping boundary may be displayed\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/8.png\"\u003e\n\u003c/p\u003e\n\n### Filling\n\n * Point-based flood fill is available (and stored as separate object)\n * Polygons may be filled with specific colors or tiled images\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/julzerinos/csharp-image-processing/assets/9.png\"\u003e\n\u003c/p\u003e\n\n## Final note\n\nIf for some darn reason good ol' Microsoft Paint ain't satisfying all your image dillydallying needs, head on down to Joe's Peppercot Farms n' try out that dandy release in the right-as-the-Lord-himself -hand menu. God bless 🤠\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulzerinos%2Fcsharp-image-processing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulzerinos%2Fcsharp-image-processing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulzerinos%2Fcsharp-image-processing/lists"}