{"id":18736352,"url":"https://github.com/matcool/gd-image-to-text","last_synced_at":"2025-09-11T11:38:25.837Z","repository":{"id":98990501,"uuid":"535497264","full_name":"matcool/gd-image-to-text","owner":"matcool","description":"converts images to multiline text objects","archived":false,"fork":false,"pushed_at":"2022-09-13T03:51:49.000Z","size":20,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T13:45:47.041Z","etag":null,"topics":["ascii-art","geometry-dash","image-processing"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/matcool.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-12T03:25:31.000Z","updated_at":"2025-02-02T21:58:34.000Z","dependencies_parsed_at":"2023-04-08T05:18:02.512Z","dependency_job_id":null,"html_url":"https://github.com/matcool/gd-image-to-text","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/matcool%2Fgd-image-to-text","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcool%2Fgd-image-to-text/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcool%2Fgd-image-to-text/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matcool%2Fgd-image-to-text/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matcool","download_url":"https://codeload.github.com/matcool/gd-image-to-text/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248621013,"owners_count":21134721,"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":["ascii-art","geometry-dash","image-processing"],"created_at":"2024-11-07T15:20:26.497Z","updated_at":"2025-04-12T19:31:12.971Z","avatar_url":"https://github.com/matcool.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gd-image-to-text\n\n[![](https://img.shields.io/badge/download-here-green)](https://github.com/matcool/gd-image-to-text/releases)\n\nGeometry Dash image to text conversion tool using multiline text objects\n\n\u003cimg width=\"70%\" src=https://user-images.githubusercontent.com/26722564/189576216-bddd63d7-4b47-4464-b9f5-1178d16bf330.png /\u003e\n\nThis tool outputs a .gmd file which you can import using [GDShare](https://github.com/HJfod/GDShare-mod/)\n\n*if you're allergic to command lines you can just drag an image into the exe ;)*\n\n```\nUsage:\n    gd-image-to-text [OPTIONS] \u003cpath\u003e\n\nArgs:\n    \u003cpath\u003e                  Path for the input image\n\nOptions:\n    -g, --grayscale         Turns the image grayscale, making it only use one text object\n    -o, --output \u003cpath\u003e     Specify path for output .gmd file, if not specified will\n                            open a save file dialog instead\n    -s, --size \u003csize\u003e       Size for the image in *characters*, given in \"WxH\" format,\n                            if not specified will use the image's actual width and height.\n                            Keep in mind GD characters are about twice as tall as their width\n    --scale \u003cscale\u003e         Scale for the text objects, defaults to 0.075\n```\n\n# FAQ\n\n## How does this work?\n\nText objects in gd actually support multiline text, and by using characters of similar widths we can abuse this to create ascii art from an image. this tool creates a text object for every color channel (R, G, B) and uses blending to combine them\n\n## Why can't it be higher resolution?\n\nThe batch nodes that render all the characters have a limit of 16384 instances. GD has each z layer in a separate batch node so we can use this to have each text object in a separate z layer. \\\nIt's not possible to have a higher resolution by adding more text objects as any characters past the 16384 will simply not render at all, despite being in a different object \\\nThere's still 4 more z layers i could use, however that would make the code more complicated and i think 3 objects is a nice object count :-)\n\n## Is this better than previous methods such as Geometrize?\n\nIn terms of object count definitely, but in many other aspects, no. \\\nNot only does this require you to use font 10, it's also incredibly laggy when moving the object and the text objects use a considerable amount of memory\n\n\n## todo:\n\n- higher color quality by using 3 extra z layers\n- try other fonts\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatcool%2Fgd-image-to-text","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatcool%2Fgd-image-to-text","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatcool%2Fgd-image-to-text/lists"}