WebAssembly(WASM)の大きな特徴として、その実行速度が挙げられます。Webブラウザ上で実行されるJavaScriptでは限界があった速度も、WebAssemblyであればネイティブ並の速度で実行できます。 そんな実行速度の速さを活かしたソフトウェアがPhotonです。WebAssemblyの力で画像を処理します。

Photonの使い方

元ファイルです。

レッドチャンネルのみ。

縮小表示。

上下反転。

ウォーターマーク追加。

テキスト追加。

フィルタを組み合わせることもできます。

結果をずらして適用すればこんな効果も。

明るさの調整。

Photonは画像全体に対するフィルターのみになるようですが、一瞬にして加工できます。全体の輝度調整やフィルタリングであれば、サーバサイドで行うよりも高速に結果が得られるでしょう。クライアントサイドであればやり直すのも簡単で、アップロード前に用意しておくと使い勝手がよさそうです。

PhotonはRust製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

Photon: A WebAssembly Image Processing Library silvia-odwyer/photon: Rust/WebAssembly image processing library