mirror of
https://github.com/denoland/deno.git
synced 2025-09-27 04:39:10 +00:00
![]()
Some checks are pending
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Bumped versions for 2.4.3 Please ensure: - [x] Crate versions are bumped correctly - [x] Releases.md is updated correctly (think relevancy and remove reverts) To make edits to this PR: ```shell git fetch upstream release_2_4.3 && git checkout -b release_2_4.3 upstream/release_2_4.3 ``` cc @crowlKats --------- Signed-off-by: Leo Kettmeir <64b2b6d@kettmeir.dev> Co-authored-by: crowlKats <crowlKats@users.noreply.github.com> Co-authored-by: Leo Kettmeir <crowlkats@toaxl.com> |
||
---|---|---|
.. | ||
01_image.js | ||
Cargo.toml | ||
image_ops.rs | ||
lib.rs | ||
op_create_image_bitmap.rs | ||
README.md |
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.