Movatterモバイル変換


[0]ホーム

URL:


Image Processing in WebAssembly

Photon is a high-performance image processing library in WebAssembly that runs both natively and on the web.

Features

Photon outperforms even the fastest of libraries, and is powered with Rust, allowing for safe and secure image processing.

Features

Run on the web or natively.

Photon can be executed:

  • In the browser via JS
  • Node.JS
  • Natively with Rust

Photon compiles to WebAssembly, which allows the execution of native-speed code in the browser and on Node.JS. This leads to high-performance image processing on the web and since Photon's core library is written in Rust, it promises security and safety.

Photon's core library is a Rust crate, available from Cargo.

Write code in JS without a single line of Rust.

JS code gets exported to WebAssembly.

Performance

Photon outperforms even the fastest of libraries, both natively and on the web.

For full benchmark results,check them out here.

Photon has greatly outperformed ImageMagick and the Python Imaging Library, as shown in the graph to the right, and is on par with libvips.

As for the web, the browser can take advantage of WebAssembly's near-native performance to deliver blazing-fast image processing on the client-side, thus sparing you the need to process images server-side.

Channel/Colour Manipulation

Photon provides low-level access to pixel and channel manipulation, as well as high-level functions for image correction, filtering, watermarking, and convolutions.

Image Resizing

Resize images at lightning-speeds.

High-performance image resizing with 5 different resizing algorithms to choose from, so that you can choose the algorithm most suited to your use case.

Image Correction

Adjust images by correcting brightness, saturation, hues, and more, all within various colour spaces. This gives full flexibility to work in many colour spaces, leading to improved results tailored to your image.

Enhance with Effects

Photon comes with a variety of built-in effects, including:

Blend Images

Functions include:

Blending:

Blend images together using 10 different techniques.

Create new images from existing ones, or create new worlds from source images.

View The Demo

To see WebAssembly in action and all effects available, make sure to check out ourdemo , where you can test out the effects, view performance, and see if Photon is the right library for your website.

Get Started In Just 3 Lines of Code

You can transform an image in just 3 lines of code, either in JS or Rust, whichever your choice may be.

Compare WebAssembly versus JavaScript

To compare JavaScript vs WebAssembly, click on one of the buttons below to see the right-hand side image edited by either JavaScript or WebAssembly.

The time taken to edit the image will be displayed below.

JS time:

WASM time:

Got questions?

If you have any questions, want to chat about your potential use case, or want help in getting started with Photon, be sure to shoot me a message on Spectrum or Gitter.

Ready To Get Started?


[8]ページ先頭

©2009-2025 Movatter.jp