Convert FLI to XBM
Max file size 100mb.
FLI vs XBM Format Comparison
| Aspect | FLI (Source Format) | XBM (Target Format) |
|---|---|---|
| Format Overview |
FLI
Autodesk FLIC Animation
Animation format created by Autodesk in 1985 for Animator and Animator Pro. Stores frame-by-frame animation with 256-color palette and delta compression. FLI uses fixed 320x200 resolution while FLC supports arbitrary sizes. Ubiquitous in DOS-era games and multimedia. Legacy Format Lossless |
XBM
X BitMap
Monochrome bitmap format for the X Window System, storing images as C source code arrays. Created in 1989 by the X Consortium for X11 icons, cursors, and bitmap patterns. Uses 1-bit depth with human-readable C syntax that can be compiled directly into applications. Legacy Format Lossless |
| Technical Specifications |
Structure: Chunk-based binary with frame delta compression
Color Depth: 8-bit indexed (256-color palette) Resolution: FLI: 320×200 fixed, FLC: arbitrary Compression: RLE + delta frame encoding Extensions: .fli, .flc |
Structure: C source code with static arrays
Color Depth: 1-bit (monochrome only) Compression: None (C hex literals) Transparency: Not supported Extensions: .xbm |
| Syntax Examples |
FLI uses binary format (not human-readable): Header: 128 bytes Magic: 0xAF11 (FLI) / 0xAF12 (FLC) Frames: N, Width: W, Height: H Depth: 8 bits, Delay: D ms Frame chunks: delta-compressed |
XBM is valid C source code: #define image_width 16
#define image_height 16
static unsigned char image_bits[] = {
0xff, 0xff, 0x01, 0x80,
0x01, 0x80, 0xff, 0xff };
|
| Content Support |
|
|
| Advantages |
|
|
| Disadvantages |
|
|
| Common Uses |
|
|
| Best For |
|
|
| Version History |
FLI Introduced: 1985 (Autodesk Animator)
FLC Introduced: 1992 (Animator Pro) Status: Legacy (no longer developed) Evolution: Superseded by AVI, MPEG, MP4 |
Introduced: 1989 (X Consortium)
Color Extension: XPM (X PixMap, 1989) Status: Legacy (maintained for X11) Evolution: XBM → XPM → PNG (modern X11) |
| Software Support |
Pillow (Python): Native read support (FliImagePlugin)
FFmpeg: Full read/write support ImageMagick: Read support Other: XnView, IrfanView, GIMP (via plugin) |
X11: All X Window toolkits
Editors: bitmap (X11), GIMP, Pillow Compilers: Any C/C++ compiler Other: ImageMagick, XnView, Inkscape |
Why Convert FLI to XBM?
Converting FLI animation frames to XBM creates X11-compatible monochrome bitmaps that can be compiled directly into C/C++ programs. This is useful for embedded Linux systems, X Window applications, and projects requiring compiled-in graphics without image file loading.
XBM format stores images as plain C source code, making them human-readable, version-control friendly, and directly compilable. Converting FLI frames to XBM bridges DOS-era animation with Unix/Linux X11 graphical applications.
The 1-bit monochrome conversion from FLI's 256-color palette creates stark black-and-white images that work well for X11 icons, cursor patterns, and bitmap elements where color is not needed.
For retro computing projects spanning both DOS and Unix eras, converting FLI to XBM connects two historical computing traditions: DOS animation (Autodesk Animator) and Unix graphics (X Window System). Both formats represent important milestones in computer graphics history.
Key Benefits of Converting FLI to XBM:
- Compilable C Code: XBM files are valid C source that compiles directly into programs
- X11 Compatible: Native format for X Window System icons and bitmaps
- Human Readable: Plain text format editable in any text editor
- No Dependencies: C compiler is the only tool needed to use XBM in applications
- Version Control: Text-based format produces meaningful diffs in git/svn
- Embedded Systems: Ideal for compiled-in graphics on resource-constrained devices
- Pillow Support: Both FLI and XBM natively supported by Python Pillow
Practical Examples
Example 1: X11 Application Icon
Input FLI file (app_anim.fli):
FLI animation file: Resolution: 320x200 Colors: 256-color palette Content: Application graphic Icon source frame
Output XBM file (icon.xbm):
XBM icon bitmap: ✓ 1-bit monochrome C code ✓ #include in C programs ✓ X11 toolkit compatible ✓ Compilable source code ✓ Version control friendly ✓ No image library needed ✓ Human-readable format
Example 2: Embedded System Graphic
Input FLI file (splash.fli):
FLI splash animation: Resolution: 320x200 Colors: 256 palette Content: Splash screen Embedded target
Output XBM file (splash.xbm):
Embedded XBM: ✓ C array for firmware ✓ No file system needed ✓ Compiled into binary ✓ Minimal memory usage ✓ Fast display rendering ✓ No codec overhead ✓ Resource-efficient
Example 3: Cross-Era Computing Bridge
Input FLI file (dos_demo.fli):
FLI DOS demo: Resolution: 320x200 Colors: 256 palette Content: DOS demo scene Computing history item
Output XBM file (unix_icon.xbm):
Unix XBM icon: ✓ DOS→Unix format bridge ✓ Computing history link ✓ X Window compatible ✓ Monochrome rendering ✓ Historical preservation ✓ Both eras represented ✓ Research material
Frequently Asked Questions (FAQ)
Q: What is XBM format?
A: XBM (X BitMap) is a monochrome (1-bit) image format for the X Window System, storing pixel data as C source code arrays. Created in 1989, XBM files can be #included directly in C/C++ programs and compiled as part of the application binary. They define width, height, and pixel data as static byte arrays.
Q: Why convert FLI to XBM?
A: XBM is useful for creating X11 icons, cursor patterns, or compiled-in graphics for Linux/Unix applications. The monochrome conversion creates stark black-and-white bitmaps from FLI palette images, suitable for X Window System integration.
Q: What happens to FLI's 256 colors?
A: FLI's 256-color palette is reduced to 1-bit monochrome (black and white) during conversion. This is a significant reduction — colors become either black or white based on brightness thresholding. The result preserves high-contrast shapes and edges.
Q: Can I compile XBM into my C program?
A: Yes, that is XBM's primary design purpose. Add #include "icon.xbm" to your C source, and the compiler includes the width, height, and bitmap data as static variables. Use Xlib or Xt functions to create pixmaps from the data.
Q: Is XBM the same as XPM?
A: XBM is monochrome (1-bit, black and white); XPM (X PixMap) is the color extension supporting up to 256 colors with transparency. Both store images as C source code, but XPM provides much richer visual representation.
Q: Does XBM support color?
A: No, XBM is strictly 1-bit monochrome. For color X11 pixmaps, use XPM format. For modern X11 icons with full color, PNG is the current standard used by freedesktop.org icon themes.
Q: Can web browsers display XBM?
A: Historically, some browsers (Netscape, early Firefox) supported XBM display. Modern browsers have dropped XBM support. For web display, use PNG, WebP, or JPEG instead.
Q: How does XBM store pixel data?
A: XBM stores pixels as an array of unsigned char (byte) values in hexadecimal. Each byte represents 8 pixels, with the least-significant bit corresponding to the leftmost pixel. Rows are padded to byte boundaries. The format is LSB-first within each byte.