{"id":15168513,"url":"https://github.com/reon90/skiajs","last_synced_at":"2025-10-25T13:31:02.727Z","repository":{"id":57362345,"uuid":"242066018","full_name":"Reon90/skiaJS","owner":"Reon90","description":"The N-API bindings for Skia Graphics Library","archived":false,"fork":false,"pushed_at":"2020-03-28T21:25:58.000Z","size":14417,"stargazers_count":13,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T07:11:48.899Z","etag":null,"topics":["bindings","n-api","nodejs","skia"],"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/Reon90.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-21T05:59:38.000Z","updated_at":"2023-11-22T00:48:00.000Z","dependencies_parsed_at":"2022-09-13T21:11:00.486Z","dependency_job_id":null,"html_url":"https://github.com/Reon90/skiaJS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reon90%2FskiaJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reon90%2FskiaJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reon90%2FskiaJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reon90%2FskiaJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Reon90","download_url":"https://codeload.github.com/Reon90/skiaJS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238147556,"owners_count":19424283,"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":["bindings","n-api","nodejs","skia"],"created_at":"2024-09-27T06:04:34.276Z","updated_at":"2025-10-25T13:30:54.809Z","avatar_url":"https://github.com/Reon90.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# skiaJS\n\nThe N-API bindings for [Skia Graphics Library](https://skia.org/) 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.\n\n## Platforms\nMac OS, Linux, Windows\n\n## Example\n```js\n// Rect\nconst fill = skPaintNew();\nskPaintSetColor(fill, skColorSetArgb(0xFF, 0xFF, 0x00, 0xFF));\nconst rect = new skRect({\n    left: 100,\n    top: 100,\n    right: 200,\n    bottom: 200\n});\nskCanvasDrawRect(canvas, rect, fill);\n\n// Text\nconst familyName = \"Times New Roman\";\nconst style = skFontstyleNew(400, 1, enums.UPRIGHT_SK_FONT_STYLE_SLANT);\nconst typeface = skTypefaceCreateFromNameWithFontStyle(familyName, style);\nconst text = skPaintNew();\nskPaintSetColor(text, skColorSetArgb(0xFF, 0xFF, 0x00, 0x00));\nskPaintSetTextsize(text, 50.0);\nskPaintSetTypeface(text, typeface);\nconst str = \"skiaJS\";\nskCanvasDrawText(canvas, str, str.length, 100, 100, text);\n\n// Svg Path\nconst stroke = skPaintNew();\nskPaintSetColor(stroke, skColorSetArgb(0xFF, 0x00, 0x00, 0xFF));\nskPaintSetAntialias(stroke, true);\nskPaintSetStyle(stroke, enums.STROKE_SK_PAINT_STYLE);\nskPaintSetStrokeWidth(stroke, 5.0);\nconst path = skPathNew();\nconst svg = \"m451.111 451.111h-451.111v-451.111h451.111zm-386.667-64.444h322.222v-322.223h-322.222z\";\nskPathParseSvgString(path, svg);\nskCanvasDrawPath(canvas, path, stroke);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freon90%2Fskiajs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freon90%2Fskiajs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freon90%2Fskiajs/lists"}