A simple steganography library written in rust

Overview

Build Status Build Status Build status Crates.io Crates.io Docs.rs dependency status

steganography

A stable steganography library written in rust

Crates.io

Usage

Add the following to the Cargo.toml in your project:

[dependencies]
steganography = "*"

and import using extern crate:

extern crate steganography;

/*
use steganography::encoder::*;
use steganography::decoder::*;
use steganography::util::*;
*/

Writing a message to a file

//Define a secret message to hide in out picture
let message = "This is a steganography demo!".to_string();
//Convert our string to bytes
let payload = str_to_bytes(&message);
//Load the image where we want to embed our secret message
let destination_image = file_as_dynamic_image("example.jpg".to_string());
//Create an encoder
let enc = Encoder::new(payload, destination_image);
//Encode our message into the alpha channel of the image
let result = enc.encode_alpha();
//Save the new image
save_image_buffer(result, "hidden_message.png".to_string());

Reading a message from a file

//Load the image with the secret message
let encoded_image = file_as_image_buffer("examples/decode_message.png".to_string());
//Create a decoder
let dec = Decoder::new(encoded_image);
//Decode the image by reading the alpha channel
let out_buffer = dec.decode_alpha();
//If there is no alpha, it's set to 255 by default so we filter those out
let clean_buffer: Vec<u8> = out_buffer.into_iter()
                                    .filter(|b| {
                                        *b != 0xff_u8
                                    })
                                    .collect();
//Convert those bytes into a string we can read
let message = bytes_to_str(clean_buffer.as_slice());
//Print it out!
println!("{:?}", message);

Running the examples

cargo build --example example_encode
cargo run --example example_encode
cargo build --example example_decode
cargo run --example example_decode

Testing

cargo test -- --test-threads=1
Comments
  • Publish image dependency update

    Publish image dependency update

    I see in the commit log that the image crate dependency was upgraded to 0.21.0. Would it be possible to publish this change to crates.io? I am using steganography and image on its own, but the 0.19.0 and 0.21.0 versions of image conflict, so I have to use the old version of image to be compatible with steganography. I'd like to be using the newest version of the crate.

    opened by kaikalii 1
  • Update image requirement from 0.19.0 to 0.20.1

    Update image requirement from 0.19.0 to 0.20.1

    Updates the requirements on image to permit the latest version.

    Changelog

    Sourced from image's changelog.

    Rust Image Release Notes

    Rust image aims to be a pure-Rust implementation of various popular image formats. Accompanying reading/write support, rust image provides basic imaging processing function. See README.md for further details.

    Known issues

    • Interlaced (progressive) or animated images are not well supported.
    • Images with n bit/channel (n ≠ 8) are not well supported.

    Changes

    Version 0.20

    • Clippy lint pass
    • Updated num-rational dependency
    • Added BGRA and BGR color types
    • Improved performance of image resizing
    • Improved PBM decoding
    • PNM P4 decoding now returns bits instead of bytes
    • Fixed move of overlapping buffers in BMP decoder
    • Fixed some document comments
    • GenericImage and GenericImageView is now object-safe
    • Moved TIFF code to its own library
    • Fixed README examples
    • Fixed ordering of interpolated parameters in TIFF decode error string
    • Thumbnail now handles upscaling
    • GIF encoding for multiple frames
    • Improved subimages API
    • Cargo fmt fixes

    Version 0.19

    • Fixed panic when blending with alpha zero.
    • Made save consistent.
    • Consistent size calculation.
    • Fixed bug in apply_with_alpha.
    • Implemented TGADecoder::read_scanline.
    • Use deprecated attribute for pixels_mut.
    • Fixed bug in JPEG grayscale encoding.
    • Fixed multi image TIFF.
    • PNM encoder.
    • Added #[derive(Hash)] for ColorType.
    • Use num-derive for #[derive(FromPrimitive)].
    • Added into_frames implementation for GIF.
    • Made rayon an optional dependency.
    • Fixed issue where resizing image did not give exact width/height.
    • Improved downscale.
    • Added a way to expose options when saving files.
    • Fixed some compiler warnings.
    • Switched to lzw crate instead of using built-in version.
    • Added ExactSizeIterator implementations to buffer structs.
    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 1
  • Update image requirement from 0.19.0 to 0.20.0

    Update image requirement from 0.19.0 to 0.20.0

    Updates the requirements on image to permit the latest version.

    Changelog

    Sourced from image's changelog.

    Rust Image 0.4 Release Notes

    Rust image aims to be a pure-Rust implementation of various popular image formats. Accompanying reading/write support, rust image provides basic imaging processing function. See README.md for further details.

    Known issues

    • Interlaced (progressive) or animated images are not well supported.
    • Images with n bit/channel (n ≠ 8) are not well supported.

    Changes

    Version 0.20

    • Clippy lint pass
    • Updated num-rational dependency
    • Added BGRA and BGR color types
    • Improved performance of image resizing
    • Improved PBM decoding
    • PNM P4 decoding now returns bits instead of bytes
    • Fixed move of overlapping buffers in BMP decoder
    • Fixed some document comments
    • GenericImage and GenericImageView is now object-safe
    • Moved TIFF code to its own library
    • Fixed README examples
    • Fixed ordering of interpolated parameters in TIFF decode error string
    • Thumbnail now handles upscaling
    • GIF encoding for multiple frames
    • Improved subimages API
    • Cargo fmt fixes

    Version 0.19

    • Fixed panic when blending with alpha zero.
    • Made save consistent.
    • Consistent size calculation.
    • Fixed bug in apply_with_alpha.
    • Implemented TGADecoder::read_scanline.
    • Use deprecated attribute for pixels_mut.
    • Fixed bug in JPEG grayscale encoding.
    • Fixed multi image TIFF.
    • PNM encoder.
    • Added #[derive(Hash)] for ColorType.
    • Use num-derive for #[derive(FromPrimitive)].
    • Added into_frames implementation for GIF.
    • Made rayon an optional dependency.
    • Fixed issue where resizing image did not give exact width/height.
    • Improved downscale.
    • Added a way to expose options when saving files.
    • Fixed some compiler warnings.
    • Switched to lzw crate instead of using built-in version.
    • Added ExactSizeIterator implementations to buffer structs.
    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 1
  • Update image requirement from 0.22.0 to 0.23.0

    Update image requirement from 0.22.0 to 0.23.0

    Updates the requirements on image to permit the latest version.

    Changelog

    Sourced from image's changelog.

    Version 0.23.0

    This major release intends to improve the interface with regards to handling of color format data and errors for both decoding and encoding. This necessitated many breaking changes anyways so it was used to improve the compliance to the interface guidelines such as outstanding renaming.

    It is not yet perfect with regards to color spaces but it was designed mainly as an improvement over the current interface with regards to in-memory color formats, first. We'll get to color spaces in a later major version.

    • Heavily reworked ColorType:
      • This type is now used for denoting formats for which we support operations on buffers in these memory representations. Particularly, all channels in pixel types are assumed to be an integer number of bytes (In terms of the Rust type system, these are Sized and one can crate slices of channel values).
      • An ExtendedColorType is used to express more generic color formats for which the library has limited support but can be converted/scaled/mapped into a ColorType buffer. This operation might be fallible but, for example, includes sources with 1/2/4-bit components.
      • Both types are non-exhaustive to add more formats in a minor release.
      • A work-in-progress (#1085) will further separate the color model from the specific channel instantiation, e.g. both 8-bit RGB and 16-bit BGR are instantiations of RGB color model.
    • Heavily rework ImageError:
      • The top-level enum type now serves to differentiate cause with multiple opaque representations for the actual error. These are no longer simple Strings but contains useful types. Third-party decoders that have no variant in ImageFormat have also been considered.
      • Support for Error::source that can be downcast to an error from a matching version of the underlying decoders. Note that the version is not part of the stable interface guarantees, this should not be relied upon for correctness and only be used as an optimization.
      • Added image format indications to errors.
      • The error values produced by decoder will be upgraded incrementally. See something that still produces plain old String messages? Feel free to send a PR.
    • Reworked the ImageDecoder trait:
      • read_image takes an output buffer argument instead of allocating all memory on its own.
      • The return type of dimensions now aligns with GenericImage sizes.
      • The colortype method was renamed to color_type for conformity.
    • The enums ColorType, DynamicImage, imageops::FilterType, ImageFormat no longer re-export all of their variants in the top-level of the crate. This removes the growing pollution in the documentation and usage. You can still insert the equivalent statement on your own: use image::ImageFormat::{self, *};
    • The result of encode operations is now uniformly an ImageResult<()>.
    • Removed public converters from some tiff, png, gif, jpeg types,
    ... (truncated)
    Commits
    • dbb81ef Update readme, change notes, meta data
    • e50ebed Merge pull request #1132 from image-rs/next
    • 140f4ea Merge pull request #1131 from HeroicKatora/upstream-master
    • e3ab70d Merge remote-tracking branch 'upstream/master' into upstream-master
    • 9dd1c44 Merge pull request #1128 from HeroicKatora/hide-num-ratio
    • 642f0a8 Merge pull request #1130 from HeroicKatora/release-0.22.5
    • b6dacab Add a saturating conversion from time::Duration
    • 633f247 Align naming to ratio
    • 68ad0cc Add conversion of Delay into time::Duration
    • 85f163e Update meta data for 0.22.5
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update image requirement from 0.21.0 to 0.22.0

    Update image requirement from 0.21.0 to 0.22.0

    Updates the requirements on image to permit the latest version.

    Changelog

    Sourced from image's changelog.

    Rust Image Release Notes

    Rust image aims to be a pure-Rust implementation of various popular image formats. Accompanying reading/write support, rust image provides basic imaging processing function. See README.md for further details.

    Known issues

    • Interlaced (progressive) or animated images are not well supported.
    • Images with n bit/channel (n ≠ 8) are not well supported.

    Changes

    Version 0.22

    • The required Rust version is now 1.34.2.
    • Note the website and blog: image-rs.org and [blog.image-rs.org][2]
    • PixelMut now only on ImageBuffer and removed from GenericImage interface. Prefer iterating manually in the generic case.
    • Replaced an unsafe interface in the hdr decoder with a safe variant.
    • Support loading 2-bit BMP images
    • Add method to save an ImageBuffer/DynamicImage with specified format
    • Update tiff to 0.3 with a writer
    • Update png to 0.15, fixes reading of interlaced sub-byte pixels
    • Always use custom struct for ImageDecoder::Reader
    • Added apply_without_alpha and map_without_alpha to Pixel trait
    • Pixel information now with associated constants instead of static methods
    • Changed color structs to tuple types with single component. Improves ergonomics of destructuring assignment and construction.
    • Add lifetime parameter on ImageDecoder trait.
    • Remove unecessary 'static bounds on affine operations
    • Add function to retrieve image dimensions without loading full image
    • Allow different image types in overlay and replace
    • Iterators over rows of ImageBuffer, mutable variants

    [2]: https://blog.image-rs.org

    Version 0.21.2

    • Fixed a variety of crashes and opaque errors in webp
    • Updated the png limits to be less restrictive
    • Reworked even more unsafe operations into safe alternatives
    • Derived Debug on FilterType and Deref on Pixel
    • Removed a restriction on DXT to always require power of two dimensions
    • Change the encoding of RGBA in bmp using bitfields
    • Corrected various urls

    Version 0.21.1

    • A fairly important bugfix backport
    • Fixed a potentially memory safety issue in the hdr and tiff decoders, see #885
    • See the full advisory for an analysis
    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it). To ignore the version in this PR you can just close it
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 0
  • Update image requirement from 0.19.0 to 0.21.0

    Update image requirement from 0.19.0 to 0.21.0

    Updates the requirements on image to permit the latest version.

    Changelog

    Sourced from image's changelog.

    Rust Image Release Notes

    Rust image aims to be a pure-Rust implementation of various popular image formats. Accompanying reading/write support, rust image provides basic imaging processing function. See README.md for further details.

    Known issues

    • Interlaced (progressive) or animated images are not well supported.
    • Images with n bit/channel (n ≠ 8) are not well supported.

    Changes

    Version 0.21

    • Updated README to use GenericImageView
    • Removed outdated version number from CHANGES
    • Compiles now with wasm-unknown-emscripten target
    • Restructured ImageDecoder trait
    • Updated README with a more colorful example for the Julia fractal
    • Use Rust 1.24.1 as minimum supported version
    • Support for loading GIF frames one at a time with animation::Frames
    • The TGA decoder now recognizes 32 bpp as RGBA(8)
    • Fixed to_bgra document comment
    • Added release test script
    • Removed unsafe code blocks several places
    • Fixed overlay overflow bug issues with documented proofs

    Version 0.20

    • Clippy lint pass
    • Updated num-rational dependency
    • Added BGRA and BGR color types
    • Improved performance of image resizing
    • Improved PBM decoding
    • PNM P4 decoding now returns bits instead of bytes
    • Fixed move of overlapping buffers in BMP decoder
    • Fixed some document comments
    • GenericImage and GenericImageView is now object-safe
    • Moved TIFF code to its own library
    • Fixed README examples
    • Fixed ordering of interpolated parameters in TIFF decode error string
    • Thumbnail now handles upscaling
    • GIF encoding for multiple frames
    • Improved subimages API
    • Cargo fmt fixes

    Version 0.19

    • Fixed panic when blending with alpha zero.
    • Made save consistent.
    • Consistent size calculation.
    • Fixed bug in apply_with_alpha.
    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 0
  • Update image requirement from 0.18.0 to 0.19.0

    Update image requirement from 0.18.0 to 0.19.0

    Updates the requirements on image to permit the latest version.

    Changelog

    Sourced from image's changelog.

    Rust Image 0.4 Release Notes

    Rust image aims to be a pure-Rust implementation of various popular image formats. Accompanying reading/write support, rust image provides basic imaging processing function. See README.md for further details.

    Known issues

    • Interlaced (progressive) or animated images are not well supported.
    • Images with n bit/channel (n ≠ 8) are not well supported.

    Changes

    Version 0.19

    • Fixed panic when blending with alpha zero.
    • Made save consistent.
    • Consistent size calculation.
    • Fixed bug in apply_with_alpha.
    • Implemented TGADecoder::read_scanline.
    • Use deprecated attribute for pixels_mut.
    • Fixed bug in JPEG grayscale encoding.
    • Fixed multi image TIFF.
    • PNM encoder.
    • Added #[derive(Hash)] for ColorType.
    • Use num-derive for #[derive(FromPrimitive)].
    • Added into_frames implementation for GIF.
    • Made rayon an optional dependency.
    • Fixed issue where resizing image did not give exact width/height.
    • Improved downscale.
    • Added a way to expose options when saving files.
    • Fixed some compiler warnings.
    • Switched to lzw crate instead of using built-in version.
    • Added ExactSizeIterator implementations to buffer structs.
    • Added resize_to_fill method.
    • DXT encoding support.
    • Applied clippy suggestions.

    Version 0.4

    • Various improvements.
    • Additional supported image formats (BMP and ICO).
    • GIF and PNG codec moved into separate crates.

    Version 0.3

    • Replace std::old_io with std::io.

    Version 0.2

    • Support for interlaced PNG images.
    • Writing support for GIF images (full color and paletted).
    • Color quantizer that converts 32bit images to paletted including the alpha channel.
    • Initial support for reading TGA images.
    • Reading support for TIFF images (packbits and FAX compression not supported).
    • Various bug fixes and improvements.
    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

    You can always request more updates by clicking Bump now in your Dependabot dashboard.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 0
  • Upgrade to GitHub-native Dependabot

    Upgrade to GitHub-native Dependabot

    Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then.

    Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the new syntax. When merged, we'll swap out dependabot-preview (me) for a new dependabot app, and you'll be all set!

    With this change, you'll now use the Dependabot page in GitHub, rather than the Dependabot dashboard, to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI.

    If you've got any questions or feedback for us, please let us know by creating an issue in the dependabot/dependabot-core repository.

    Learn more about migrating to GitHub-native Dependabot

    Please note that regular @dependabot commands do not work on this pull request.

    dependencies 
    opened by dependabot-preview[bot] 1
Releases(v1.0.2)
Owner
Teodor Voinea
Teodor Voinea
A Simple-to-use, cross-platform Rust Webcam Capture Library

Cross Platform Rust Library for powerful Webcam Capture and Virtual Webcams

null 246 Jan 8, 2023
Antialiased 2D vector drawing library written in Rust

femtovg Join the femtovg Discord channel Work in progress! Antialiased 2D vector drawing library written in Rust.

Tomasz Sterna 0 Aug 24, 2021
A simple command-line utility (and Rust crate!) for converting from a conventional image file (e.g. a PNG file) into a pixel-art version constructed with emoji

EmojiPix This is a simple command-line utility (and Rust crate!) for converting from a conventional image file (e.g. a PNG file) into a pixel-art vers

Michael Milton 22 Dec 6, 2022
A Simple Image to Ascii converter in Rust

Image to Ascii A Simple Image to Ascii converter in Rust Brief ?? In my way to learn Rust i decided to make this converter. Challenges ?? new to Rust

WasixXD 7 Sep 16, 2022
PixelWorldProxy - Simple Pixel World Proxy made in Rust.

PixelWorldProxy Simple Pixel World Proxy made in Rust. Feature Safe and fast Support subserver switching Usage Clone the repository: git clone https:/

null 3 Jan 5, 2022
Simple CLI program to generate zoomable tiled images

zoomtiler Simple CLI program to generate deepzoom zoomable tiled images. The input can either be a single image or multiple images of the same height,

Matthieu Pizenberg 3 Mar 14, 2022
Simple image metadata scrubber. Will remove EXIF, XMP and IPTC metadata.

Simple image metadata scrubber. Will remove EXIF, XMP and IPTC metadata.

Jae Lo Presti 12 Nov 29, 2022
Simple image resizer/cropper API

Simple image resizer/cropper API. This is a Rust ?? port of the following article on the Deno Blog: Build a Simple Image Resizing API in less than 100

Enrique Mejías 5 Mar 2, 2023
tai (Terminal Ascii Image) tool to convert images to ascii written in Rust

TAI Terminal Ascii Image A tool to convert images to ascii art written in Rust ?? Notes This tool is still in development stage. Contributions All Con

Mustafa Salih 258 Dec 5, 2022
🎨 Example-based texture synthesis written in Rust 🦀

?? texture-synthesis A light Rust API for Multiresolution Stochastic Texture Synthesis [1], a non-parametric example-based algorithm for image generat

Embark 1.7k Dec 31, 2022
A Telegram Bot written in Rust to Track new Github releases

Release Tracker This is used to track Releases posted on GitHub Releases and Post it on a Telegram Channel/Group. Setup Export env variables or just f

Kartikeya Hegde 20 Jul 7, 2022
A Rust library for calculating perceptual hash values of images

img_hash Now builds on stable Rust! (But needs nightly to bench.) A library for getting perceptual hash values of images. Thanks to Dr. Neal Krawetz f

Austin Bonander 264 Dec 9, 2022
Face detection library for the Rust programming language

Rustface SeetaFace detection library for the Rust programming language Example of demo program output SEETAFACE C++ – Github repository for the origin

Andrei Tomashpolskiy 323 Dec 27, 2022
😱 Dead fast thumbnail library for browser and NodeJs! Built with Rust 🦀 and WebAssembly 🕸

thumbo-core ?? Dead fast thumbnail library for browser and NodeJs Built with Rust ?? & WebAssembly ?? ?? About thumbo-core is a thubnail library for b

Victor Aremu 12 Dec 2, 2022
Rust library for fast image resizing with using of SIMD instructions.

fast_image_resize Rust library for fast image resizing with using of SIMD instructions. CHANGELOG Supported pixel formats and available optimisations:

Kirill Kuzminykh 115 Jan 5, 2023
PNG decoding and encoding library in pure Rust

PNG Decoder/Encoder PNG decoder/encoder in pure Rust. It contains all features required to handle the entirety of the PngSuite by Willem van Schack. p

image-rs 247 Dec 25, 2022
An advanced image processing library for Rust.

ImageProc Maintainers: @chyh1990 Note: this project is under active depvelopment, API may change! imageproc is a advanced image proccessing library fo

Chen Yuheng 97 Oct 18, 2022
Rust library to get image size and format without loading/decoding

imageinfo-rs Rust library to get image size and format without loading/decoding. The imageinfo don't get image format by file ext name, but infer by f

xiaozhuai, Weihang Ding 47 Dec 30, 2022
Image operation rust library

Image operation rust library

LongYinan 166 Dec 20, 2022