A tool that transforms an IMVU badge canvas into a single cohesive image.

Overview

IMVU Badge Canvas Image Generator

This tool fetches an IMVU user's badge canvas and creates a single unified image representation of it. Instead of having badges scattered around, you get a single image that visually represents the badge canvas of the user.

Features

  • Fetch User Badges: Provide an IMVU user ID and the tool fetches all the badges associated with the user.
  • Badge Placement: Places each badge at its designated position on the grid.
  • High Quality: Outputs an image with no compression ensuring the highest quality.
  • Command-line Interface: Easily specify the CID and output image path through CLI arguments.

Options

  • -c, --cid [CID]: Specify the user ID (CID) of the IMVU avatar you want to fetch the badge canvas for. You can use this or -a [AVATAR_NAME], but one of them is required.

  • -a, --avatar-name [AVATAR_NAME]: Specify the name of the IMVU avatar. This is an alternative to specifying the user ID (CID). If both are provided, the -c option takes precedence.

  • -o, --output [output_filename]: Define the filename for the resulting image. If not provided, the default filename would be canvas-[AVATAR_NAME].png.

  • -g, --grid-color [GRID_COLOR]: Customize the grid color in the image. Accepts HEX format (e.g., #FF5733). The default grid color is #ECECEC with lines being #D4D4D4.

  • -v, --verbose: Enable verbose logging to get more detailed information about the process.

  • -h, --help: Display the help message and exit.

Remember to always use one of -c [CID] or -a [AVATAR_NAME] to specify the avatar whose badge canvas you wish to process.

Usage

  1. Using User ID (CID) Alone

    cargo run -- -c [CID]
    • Replace [CID] with the user ID of the IMVU avatar.
    • The default output filename would be canvas-[AVATAR_NAME].png.
  2. Using User ID with Output File Name

    cargo run -- -c [CID] -o [output_filename]
    • Replace [CID] with the user ID of the IMVU avatar.
    • Replace [output_filename] with your desired output file name.
  3. Using User ID with Grid Color

    cargo run -- -c [CID] -g [GRID_COLOR]
    • Replace [CID] with the user ID of the IMVU avatar.
    • Replace [GRID_COLOR] with your desired grid color in HEX format (e.g., #FF5733).
  4. Using User ID with Output File Name and Grid Color

    cargo run -- -c [CID] -o [output_filename] -g [GRID_COLOR]
    • Replace [CID] with the user ID of the IMVU avatar.
    • Replace [output_filename] with your desired output file name.
    • Replace [GRID_COLOR] with your desired grid color in HEX format.
  5. Verbose Logging

    Add -v to any of the above commands to enable verbose logging. For example:

    cargo run -- -c [CID] -v

Note: When using the -a [AVATAR_NAME] option, it can replace the -c [CID] in any of the combinations above.

Requirements

  • Rust (latest stable version)
  • Other dependencies as listed in Cargo.toml

Build & Run

Follow the standard Rust application build process:

cargo build --release
./target/release/[binary_name] [arguments]

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issues page.

License

MIT License. See LICENSE for more information.

You might also like...
 A dynamic image generator.
A dynamic image generator.

dynimgen A dynamic image generator. How to use step 1: The designers export the design drawing as an svg file svg rect / image src="img.png"

A library to compile USDT probes into a Rust library
A library to compile USDT probes into a Rust library

sonde sonde is a library to compile USDT probes into a Rust library, and to generate a friendly Rust idiomatic API around it. Userland Statically Defi

miette is a diagnostic library for Rust. It includes a series of traits/protocols that allow you to hook into its error reporting facilities, and even write your own error reports!
miette is a diagnostic library for Rust. It includes a series of traits/protocols that allow you to hook into its error reporting facilities, and even write your own error reports!

miette is a diagnostic library for Rust. It includes a series of traits/protocols that allow you to hook into its error reporting facilities, and even write your own error reports!

An efficient method of heaplessly converting numbers into their string representations, storing the representation within a reusable byte array.

NumToA #![no_std] Compatible with Zero Heap Allocations The standard library provides a convenient method of converting numbers into strings, but thes

πŸ“¦ πŸš€ a smooth-talking smuggler of Rust HTTP functions into AWS lambda
πŸ“¦ πŸš€ a smooth-talking smuggler of Rust HTTP functions into AWS lambda

lando 🚧 maintenance mode ahead 🚧 As of this announcement AWS not officialy supports Rust through this project. As mentioned below this projects goal

Rs.aws-login - A command line utility to simplify logging into AWS services.

aws-login A command line utility to simplify logging into AWS accounts and services. $ aws-login use ? Please select a profile to use: β€Ί ❯ dev-read

A rollup plugin that compile Rust code into WebAssembly modules

rollup-plugin-rust tl;dr -- see examples This is a rollup plugin that loads Rust code so it can be interop with Javascript base project. Currently, th

Creates a DLL that runs a payload once injected into a process.

Educational purposes only Don't use this project maliciously. Prerequisites Install rust Install windows toolchain Setup Run cargo run --bin builder -

Translate C++/Rust type into C type with the same memory layout

clayout, translate C++/Rust type into C type with the same memory layout. Generally, clayout is used together with bpftrace. clayout is developed on d

Owner
Helba
Creator of BlizzTrack and many other tools
Helba
Rust library to scan files and expand multi-file crates source code as a single tree

syn-file-expand This library allows you to load full source code of multi-file crates into a single syn::File. Features: Based on syn crate. Handling

Vitaly Shukela 11 Jul 27, 2022
A self-contained, single-binary Rust and Leptos application for remote Wake-on-LAN

Remote Wake-on-LAN with Rust and Leptos A self-contained, single-binary Rust and Leptos application serving a web interface to wake another device on

Valentin Bersier 6 Jan 28, 2023
An opinionated Rust library for interacting with AWS DynamoDB single-table designs.

Modyne An opinionated library for interacting with AWS DynamoDB single-table designs. † Motive Modyne follows the precepts laid out for effective sing

Marcus Griep 14 Jun 8, 2023
DynamoDB library for single-table design in Rust

A DynamoDB abstraction for Rust Deez is a DynamoDB abstraction for implementing Single Table Design easily, inspired by ElectroDB. Getting Started Def

null 10 Jul 2, 2023
Prints the absolute path of all regular files in an unmounted btrfs filesystem image.

btrfs-walk-tut Prints the absolute path of all regular files in an unmounted btrfs filesystem image. Learning about btrfs: Btrfs Basics Series This re

Nishal Kulkarni 2 Feb 3, 2022
Ever wanted to torture your CPU by generating every image possible?

dumpsterfire Ever wanted to torture your CPU by generating every image possible? Well, now you can! This thing is worse than mining Bitcoin, since the

null 2 Jun 14, 2022
image url web-scrapper written in rust

imgs - CLI Webscrapper image url web-scrapper written in rust This is a cli application completely written in rust, it aim is to scrap image-url from

Michael Olayemi 1 Apr 2, 2022
Boot tools: loader, image generator, etc as a library crate

ArcBoot v0 A uefi bootloader for riscv, arm and x86. Comes in the form of a single executable. the source code contains a single executable target and

Spectral Project 3 Oct 3, 2022
Image optimization using Rust and Vips πŸ¦€

Huffman Image optimization using Rust and Libvips. Requirements You must have the following packages installed before getting started Rust Vips pkg-co

ChronicleHQ 4 Nov 3, 2022
Small library for text to image steganography.

hips-lib Performs text to image steganography by hinding and retrieving secret text within images or pixel arrays. This is achieved by encoding the se

hewhocopypastes 4 Feb 21, 2023