{"id":39582785,"url":"https://github.com/ssnangua/sharp-bmp","last_synced_at":"2026-01-18T07:31:44.589Z","repository":{"id":52565448,"uuid":"521017135","full_name":"ssnangua/sharp-bmp","owner":"ssnangua","description":"Bmp encoder and decoder for sharp base on bmp-js.","archived":false,"fork":false,"pushed_at":"2022-08-04T15:49:30.000Z","size":18,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-23T15:11:10.723Z","etag":null,"topics":["bmp","convert","decode","encode","image","sharp"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/ssnangua.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":"2022-08-03T20:06:40.000Z","updated_at":"2024-09-28T10:35:38.000Z","dependencies_parsed_at":"2022-09-26T19:11:55.163Z","dependency_job_id":null,"html_url":"https://github.com/ssnangua/sharp-bmp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ssnangua/sharp-bmp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssnangua%2Fsharp-bmp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssnangua%2Fsharp-bmp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssnangua%2Fsharp-bmp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssnangua%2Fsharp-bmp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssnangua","download_url":"https://codeload.github.com/ssnangua/sharp-bmp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssnangua%2Fsharp-bmp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28533167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bmp","convert","decode","encode","image","sharp"],"created_at":"2026-01-18T07:31:44.497Z","updated_at":"2026-01-18T07:31:44.560Z","avatar_url":"https://github.com/ssnangua.png","language":"JavaScript","readme":"# sharp-bmp\n\nBmp encoder and decoder for [sharp](https://www.npmjs.com/package/sharp) base on [bmp-js](https://www.npmjs.com/package/bmp-js).\n\n## Install\n\n```bash\nnpm install sharp-bmp\n```\n\n## Usage\n\n### Create an instance of sharp from a BMP image\n\n```js\nconst bmp = require(\"sharp-bmp\");\n\nbmp.sharpFromBmp(\"input.bmp\", {\n  // sharp constructor options\n}) // returns an instance of sharp\n  .toFile(\"output.png\");\n```\n\n### Write output image data to a BMP file\n\n```js\nconst sharp = require(\"sharp\");\nconst bmp = require(\"sharp-bmp\");\n\nconst image = sharp(\"input.jpg\");\n\nbmp.sharpToBmp(image, \"output.bmp\")\n  .then((info) =\u003e {\n    console.log(info); // { size, width, height }\n  })\n  .catch((err) =\u003e {\n    console.error(err);\n  });\n```\n\n### Decode BMP\n\n```js\nconst fs = require(\"fs\");\nconst sharp = require(\"sharp\");\nconst bmp = require(\"sharp-bmp\");\n\nconst buffer = fs.readFileSync(\"input.bmp\");\nconst bitmap = bmp.decode(buffer);\n\nsharp(bitmap.data, {\n  raw: {\n    width: bitmap.width,\n    height: bitmap.height,\n    channels: 4,\n  },\n})\n  .toFile(\"output.png\");\n```\n\n### Encode BMP\n\n```js\nconst fs = require(\"fs\");\nconst sharp = require(\"sharp\");\nconst bmp = require(\"sharp-bmp\");\n\n(async () =\u003e {\n  const image = sharp(\"input.jpg\");\n  const { data, info } = await image\n    // If the image has alpha transparency channel\n    .flatten({ background: \"#ffffff\" })\n    // If the image has no alpha transparency channel\n    .ensureAlpha()\n    .raw()\n    .toBuffer({ resolveWithObject: true });\n  const bitmap = {\n    data,\n    width: info.width,\n    height: info.height,\n  };\n  const rawData = bmp.encode(bitmap);\n  fs.writeFileSync(\"output.bmp\", rawData.data);\n\n  console.log(rawData.data.length); // size of output.bmp\n})();\n```\n\n## Change Log\n\n### 0.1.3\n\n- Merge alpha transparency channel with a white background\n\n### 0.1.4\n\n- `sharpFromBmp(input, options)` support `Buffer` input.\n\n### 0.1.5\n\n- `sharpFromBmp(input, options, resolveWithObject)` add the third option, if `true`, will return an object with decoding info, default by `false`\n- Update index.d.ts","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssnangua%2Fsharp-bmp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssnangua%2Fsharp-bmp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssnangua%2Fsharp-bmp/lists"}