{"id":28239161,"url":"https://github.com/quackster/habbogiftransparencyfixer","last_synced_at":"2026-01-25T11:05:15.250Z","repository":{"id":116595767,"uuid":"589870244","full_name":"Quackster/HabboGifTransparencyFixer","owner":"Quackster","description":"A short little tool that changes the transparency layer of a .gif file to have the RGB values of 255,255,255 instead of 0,0,0 to fix transparency in Habbo Shockwave client versions. No tools expose this easily through any existing image editing API, so we edit the bytes of the .gif itself.","archived":false,"fork":false,"pushed_at":"2023-01-17T06:17:30.000Z","size":9,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T02:44:05.243Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Quackster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2023-01-17T06:08:34.000Z","updated_at":"2023-06-18T15:11:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"1c064abd-ff37-4d1b-abf5-c0bfff50bad3","html_url":"https://github.com/Quackster/HabboGifTransparencyFixer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Quackster/HabboGifTransparencyFixer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quackster%2FHabboGifTransparencyFixer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quackster%2FHabboGifTransparencyFixer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quackster%2FHabboGifTransparencyFixer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quackster%2FHabboGifTransparencyFixer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Quackster","download_url":"https://codeload.github.com/Quackster/HabboGifTransparencyFixer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quackster%2FHabboGifTransparencyFixer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28752456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-05-19T02:11:48.324Z","updated_at":"2026-01-25T11:05:15.246Z","avatar_url":"https://github.com/Quackster.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Habbo Gif Transparency Fixer\n\nA short little tool that changes the transparency layer of a .gif file to have the RGB values of 255,255,255 instead of 0,0,0 to fix transparency in Habbo Shockwave client versions. No tools expose this easily through any existing image editing API, so we edit the bytes of the .gif itself.\n\n#### Converting Colour Table\n\nThe .gif must have a single frame and a \"global\" colour table (a single colour table used for all .gif frames, as opposed to local) to parse the bytes of the .gif correctly.\n\nTo convert it to have a global colour table, this code can be used (using SixLabors.ImageSharp library):\n\n```c\n\nImage\u003cRgba32\u003e img = Image.Load\u003cRgba32\u003e(inputFile);\nimg.Save(outputFile, new SixLabors.ImageSharp.Formats.Gif.GifEncoder\n{\n    ColorTableMode = SixLabors.ImageSharp.Formats.Gif.GifColorTableMode.Global,\n    Quantizer = new OctreeQuantizer(new QuantizerOptions\n    {\n        Dither = null\n    })\n});\n\n```\n\n# Sample Code\n\nThis is the code itself that changes the transparency layer of a .gif.\n\n```c\npublic void SetTransparencyLayer(string inputFile, string outputFile, byte r, byte g, byte b)\n{\n    byte[] gifBytes = File.ReadAllBytes(inputFile);\n\n    // The color table starts at byte 10 and is 3 * (2^(N+1)) bytes long\n    int colorTableStart = 10;\n    int colorTableLength = 3 * (1 \u003c\u003c (gifBytes[10] \u0026 0x07) + 1);\n\n    // Extract the color table bytes\n    byte[] colorTableBytes = new byte[colorTableLength];\n    Array.Copy(gifBytes, colorTableStart, colorTableBytes, 0, colorTableLength);\n\n    int colorTableColors = (colorTableBytes[1] * 3); // Find all the colours used in the colour table (multiplied by 3 for each RGB value)\n    int transparencyStartIndex = (colorTableColors + 3); // Find the transparency layer (the last colour found in the colour table)\n\n    colorTableBytes[transparencyStartIndex + 1] = r;\n    colorTableBytes[transparencyStartIndex + 2] = g;\n    colorTableBytes[transparencyStartIndex + 3] = b;\n    \n    Array.Copy(colorTableBytes, 0, gifBytes, colorTableStart, colorTableLength);\n    File.WriteAllBytes(outputFile, gifBytes);\n}\n```\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquackster%2Fhabbogiftransparencyfixer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquackster%2Fhabbogiftransparencyfixer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquackster%2Fhabbogiftransparencyfixer/lists"}