1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-21 21:50:00 -05:00
denoland-deno/ext/canvas
2024-11-26 11:46:42 +09:00
..
01_image.js move suggestion to runtime/format_errors.rs 2024-11-26 10:36:10 +09:00
Cargo.toml Merge branch 'main' into update-imagebitmap 2024-10-24 16:17:35 +09:00
image_decoder.rs update error 2024-10-24 17:40:31 +09:00
image_ops.rs remove comment out 2024-11-26 10:37:14 +09:00
lib.deno_canvas.d.ts chore: add code generation for @types/deno (#25545) 2024-09-23 19:18:52 +00:00
lib.rs map lcms error 2024-10-24 17:55:34 +09:00
op_create_image_bitmap.rs remove comment 2024-11-26 11:46:42 +09:00
README.md update README 2024-09-08 21:32:34 +09:00

deno_canvas

Extension that implements various OffscreenCanvas related APIs.

Image processing architecture in Rust

flowchart LR
  Input["input binary<br/>( &[u8] )"]
  II["intermediate image<br/>( DynamicImage )"]
  Ops["processing pixel<br/>( ImageBuffer< P, S > )"]
  Output["output binary<br/>( Box<[u8]> )"]
  Input --> II
  II --> Ops --> II
  II --> Output

The architecture of image processing in Rust is rely on the structure of image crate.
If the input is a image of binary, it convert to an intermediate image (DynamicImage in image) with using a decoder corresponding to its image formats.
After converting to an intermediate image, it can process various way for example, to use the pixel processong operation imageops supplied by image.
On the other hand, there can also to implement your own pixel processong operation to refer to the implementation of imageops as here or image_ops.rs module.
You can treat any bit depth that supported by image with generics in the processing pixel layer.