ici-files

Crates.ioici-files
lib.rsici-files
version0.4.0
sourcesrc
created_at2023-02-26 17:36:29.964421
updated_at2024-09-29 14:18:31.017288
descriptionEncode/decode ici files
homepage
repositoryhttps://github.com/emmabritton/ici-files
max_upload_size
id795367
size122,118
Emma Britton (emmabritton)

documentation

README

Crates.io Documentation

ICI Files

Usage

ici-files = "0.4.0"

Encodes and decodes ICI files and JASC palettes

Designed to be used with Buffer Graphics, and in turn Pixel Graphics.

ICI Tools can be useful when working with ICI files

ICI Image editor is a MSPaint like program for ICI and ICA files

Indexed Color Images come in two forms:

  1. Single
  2. Animated

Both may contain palette data in one of these forms:

  1. No palette data
  2. Palette ID (u16)
  3. Palette Name (String 1..=255)
  4. Palette Colours (RGBA 1..=255)

Palettes

No Data

The file doesn't contain any palette information. The Image struct will default to a palette of the correct size but filled with transparency. Use Image::with_palette to set the palette or Image::set_color to set a specific color.

ID

The file has a palette ID between 0..=65535. The Image struct will default to a palette of the correct size but filled with transparency. Use Image::with_palette to set the palette or Image::set_color to set a specific color.

Name

The file has a UTF-8 palette name, between 1..=255 bytes long. The Image struct will default to a palette of the correct size but filled with transparency. Use Image::with_palette to set the palette or Image::set_color to set a specific color.

Colors

The file contains a list of RGBA colors.

Image formats

Single

Single static image, max width and height is 255

Animated

Multi frame image, max width, height and frame count is 255. Also contains a frame rate as fractional seconds per frame. All frames must be the same size.

IndexedWrapper

Stores either a static or animated image and provides a limited abstract interface

Features

Default: serde

Serde

Adds serialize and deserialize to some structs

Commit count: 29

cargo fmt