Crates.io | icu_lib |
lib.rs | icu_lib |
version | 0.1.12 |
source | src |
created_at | 2024-02-05 12:08:13.508574 |
updated_at | 2024-11-08 08:56:05.210765 |
description | Image Converter Ultra Library |
homepage | https://github.com/W-Mai/icu |
repository | https://github.com/W-Mai/icu |
max_upload_size | |
id | 1127531 |
size | 281,607 |
Image Converter Ultra Library (ICU-LIB)
The Image Converter Ultra (ICU) is a software that converts images from one format to another. It is designed to be a versatile tool that can handle a wide range of image formats and convert them to other formats. The ICU is designed to be a standalone application that can be used on any platform that supports the necessary dependencies. The ICU is written in RUST.
cargo add icu_lib
use icu_lib::endecoder::{common, lvgl_v9};
use icu_lib::midata::MiData;
use icu_lib::EncoderParams;
use std::fs;
fn main() {
const DATA: &[u8] = include_bytes!("../res/img_0.png");
// Decode the image data and automatically detect the format
let mid = MiData::decode_from(&common::AutoDectect {}, Vec::from(DATA));
// Encode the image data to the LVGL binary format with ARGB8888 color format
let data = mid.encode_into(
&lvgl_v9::LVGL {},
EncoderParams {
color_format: lvgl_v9::ColorFormat::ARGB8888,
stride_align: 256,
dither: false,
});
fs::write("img_0.bin", data).expect("Unable to write file");
}
╔═══════════════╗
║ ║
║ ║
┌ ─ ─ ─ ─ ─ ─ ┐ ║
┌ ─ ─ ─ ─ ┐ ║
│ EnDecoder │ ▼
└ ─ ─ ─ ─ ┘ ┌ ─ ─ ─ ─ ─ ─ ┐
│┌───────────┐│ ┌ ─ ─ ─ ─ ┐
│ PNG │ │ MidData │
│└───────────┘│ └ ─ ─ ─ ─ ┘
┌───────────┐ │┌───────────┐│
││ JPEG ││ │ ARGB │
└───────────┘ │└───────────┘│ ╔-------------╗
│┌───────────┐│ ┌───────────┐ ║ ICU_LIB ║
│ SVG │ ││ PATH ││ ╚-------------╝
│└───────────┘│ └───────────┘
┌───────────┐ │┌── ─── ─── ┐│
││ LVGL BIN ││ CUSTOM │
└───────────┘ │└── ─── ─── ┘│
│┌── ─── ─── ┐│ ─ ─ ─ ─ ─ ─ ─
CUSTOM │ ║
│└── ─── ─── ┘│ ║
─ ─ ─ ─ ─ ─ ─ ║
▲ ║
║ ║
╚═══════════════╝