Crates.io | adaptemoji |
lib.rs | adaptemoji |
version | 0.1.1 |
source | src |
created_at | 2024-03-27 00:22:39.436315 |
updated_at | 2024-03-27 01:56:12.039769 |
description | Convert your regular Telegram emojis into adaptive monochrome versions |
homepage | https://github.com/adaptemoji/adaptemoji |
repository | https://github.com/adaptemoji/adaptemoji |
max_upload_size | |
id | 1187399 |
size | 43,190 |
Convert your regular Telegram emojis into adaptive monochrome versions
Original | Adaptive | Adaptive negative |
---|---|---|
As you can see, one of the adaptive versions looks wrong compared to original. But, if you switch your color theme from light to dark (or dark to light) the other one will be wrong. So, you need to use the one, that fits your background more.
CC linker (Windows - Microsoft Visual Studio with C++ Support) (Linux - gcc)
cargo install adaptemoji
adaptemoji -i your-image.png -o output-image.png
adaptemoji -i your-image.png -o output-image.png -n
Also Telegram requires your emoji to be 100px x 100px in size. If you want adaptemoji automatically to resize image, add -r
flag
adaptemoji -i your-image.png -o output-image.png -r
adaptemoji -i your-image.png -o output-image.png -nr
cargo add adaptemoji
use adaptemoji::AdaptiveEmojiConvert;
use std::error;
fn main() -> Result<(), Box<dyn error::Error>> {
let img = image::open("./assets/examples/original.webp")?;
let mut resized_img = img
.resize(100, 100, image::imageops::FilterType::Triangle) // Resize image to 100px x 100px
.to_luma_alpha8();
resized_img.convert_adaptive(false).save("./target/adaptive.png")?;
Ok(())
}
use adaptemoji::AdaptiveEmojiConvert;
use std::error;
fn main() -> Result<(), Box<dyn error::Error>> {
let img = image::open("./assets/examples/original.webp")?;
let mut resized_img = img
.resize(100, 100, image::imageops::FilterType::Triangle) // Resize image to 100px x 100px
.to_luma_alpha8();
adaptemoji::convert_adaptive(&mut resized_img, true);
resized_img.save("./target/adaptive_negative.png")?;
Ok(())
}