photon rust 图像处理库

photon 是一个基于rust 开发的图像处理库,同时也支持基于WebAssembly的处理

参考nodejs 使用

  • 添加依赖
{
  "name": "image-demo",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "@silvia-odwyer/photon-node": "^0.3.3"
  }
}
  • 代码使用
    一个图像灰度处理的
 
var fs = require('fs');
 
var photon = require("@silvia-odwyer/photon-node");
 
function grayscaleImage() {
    // read file, then convert to base64
    var base64 = fs.readFileSync(`input.png`, { encoding: 'base64' });
    let data = base64.replace(/^data:image\/(png|jpg);base64,/, "");
 
    // convert base64 to PhotonImage
    var phtn_img = photon.PhotonImage.new_from_base64(data);
 
    photon.grayscale(phtn_img);
 
    // get base64 from filtered image, and write 
    let output_base64 = phtn_img.get_base64();
    let output_image_name = "output.png";
    var output_data = output_base64.replace(/^data:image\/\w+;base64,/, '');
 
    fs.writeFile(output_image_name, output_data, {encoding: 'base64'}, function(err) {
    });
    console.log(`Saved ${output_image_name}`);
 
}
 
grayscaleImage();

说明

photon node 包是基于了wasm-pack 开发的

参考资料

https://github.com/silvia-odwyer/photon
https://github.com/silvia-odwyer/photon/blob/master/crate/src/lib.rs
https://silvia-odwyer.github.io/photon/
https://github.com/rustwasm/wasm-pack
https://silvia-odwyer.github.io/photon/guide/using-photon-node/

posted on   荣锋亮  阅读(153)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-10-27 dremio map 数据查询
2022-10-27 apache iceberg 1.0 发布
2020-10-27 imgproxy 强大高效的图片处理服务
2020-10-27 java 使用js 引擎处理业务逻辑
2020-10-27 nodejs java 互调用
2019-10-27 dolt 基于git协议的数据管理工具
2019-10-27 docz 强大简单的文档管理工具

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示