#图像编码 #图像 #编解码器 #消息 #解码 #编码

pyxelium

Pyxelium是一个轻量级的基于像素的加密库,允许您在PNG图像中编码和解码消息。它提供了Rust函数用于使用基于像素的加密进行编码和解码消息。

6个版本

0.0.6 2024年2月5日
0.0.5 2024年2月4日

#700 in 图像

MIT许可协议

13KB
128 代码行

Pyxelium Rust

Screenshot Screenshot

[!警告]
目前,由于编码算法的变化,较新版本可能与旧版本不兼容!

Pyxelium是一个轻量级的基于像素的加密库,允许您在PNG图像中编码和解码消息。

为什么?我不知道,但如果您有使用此项目的良好理由,请告诉我!

特性

  • 将文本消息编码到图像中。
  • 从图像中解码隐藏的消息。

用法

编码消息

要使用Pyxelium将消息编码到图像中,请使用以下Rust函数

use image::{Rgba, RgbaImage};
use pyxelium::string_to_pixels;

fn main() {
    let message = "Your message goes here";
    let pixel_size = 5;
    let base_color = Rgba([128, 128, 128, 255]);
    
    let encoded_image: RgbaImage = string_to_pixels(message, pixel_size, base_color);
    
    // Save the image into a file
    encoded_image.save("encoded_image.png").unwrap();
}

此函数将您的消息编码到RgbaImage对象中。

解码消息

要使用Pyxelium从图像中解码消息,请使用以下Rust函数

use image::{io::Reader as ImageReader, Rgba};
use pyxelium::decode_pixels_to_string;

fn main() {
    let image_path = "encoded_image.png";
    let pixel_size = 5;
    let base_color = Rgba([128, 128, 128, 255]);
    
    let encoded_image = ImageReader::open(image_path).unwrap().decode().unwrap().to_rgba8();
    
    let decoded_message_result = decode_pixels_to_string(&encoded_image, pixel_size, base_color);
    
    match decoded_message_result {
        Ok(decoded_message) => {
            println!("Decoded Message: {}", decoded_message);
        }
        Err(err) => {
            eprintln!("Error decoding message: {}", err);
        }
    }
}

将 "image.png" 替换为您想要解码的图像的路径。解码后的消息将作为Result 可用。

入门

  1. 将Pyxelium添加到您的Cargo.toml依赖项中
[dependencies]
pyxelium = "0.0.6"
  1. 导入必要的模块,并如上使用示例所示使用函数。

贡献

欢迎对Pyxelium的贡献!请随意打开问题或提交拉取请求。

许可协议

此项目是开源的,可在MIT许可协议下使用。您可以自由使用、修改和分发此软件。

依赖关系

~5MB
~65K SLoC