# 1001.bmp Image Characteristics

- **File Name:** 1001.bmp
- **Location:** SD/image/1001.bmp
- **Format:** Windows 3.x BMP (BMP3)
- **Dimensions:** 190 x 40 pixels
- **Color Depth:** 24-bit (8-bit per channel, sRGB)
- **Image Size:** 22,934 bytes
- **Resolution:** 2834 x 2834 pixels/meter
- **Data Offset:** 54 bytes (header size)

This image is suitable for use with ESP32 projects that support 24-bit BMP files. For optimal performance on microcontrollers, consider converting to a raw or 16-bit (RGB565) format if needed by your display library.

# Converting 

For ESP32 with ILIxxx displays, storing images as uncompressed 24-bit BMP (like your current 1001.bmp) is convenient if your display library supports BMP decoding and you have enough storage and RAM. However, for best performance and efficiency, especially on microcontrollers, the most common and recommended format is:

Raw RGB565 (16-bit) format: This matches the color format of most ILIxxx displays, is fast to load, and uses less space than 24-bit BMP.
Why RGB565 Raw is Better:
Directly compatible with ILIxxx displays (no conversion needed at runtime).
Smaller file size (190 × 40 × 2 bytes = 15,200 bytes).

Fastest to read and display.

# How to Convert a Photo or Image:

## Resize and Crop:

Use an image editor (GIMP, Photoshop, or free online tools) to resize your image to 190x40 pixels.
Crop as needed to fit the aspect ratio.
## Convert to RGB565 Raw:

Use a tool or script to convert the image to RGB565 format.
Save as a .raw or .bin file (not BMP, not compressed).

## Copy to SD Card:

Place the .raw file on your SD card.
Read and display it directly using your ESP32 code.

## Example Conversion Tools:

**GIMP**: Export as RGB565 using a plugin or export as raw data.
Python script: Use PIL (Pillow) to convert and save as RGB565.
Online tools: Search for “image to RGB565 converter”.
If you want, I can provide a Python script to automate the conversion from any image to 190x40 RGB565 raw format. Let me know if you need this!


Your display uses an inverted BGR565 format (not standard RGB565), meaning:

The color order is BGR (not RGB).
The 16-bit value is inverted: color = 0xFFFF - standard BGR565.
How to Convert an Image for Your Display
Convert the image to 16-bit BGR565 format.
Invert each 16-bit value (bitwise NOT or subtract from 0xFFFF).
Save as a .raw file (no header, just pixel data).
Can This Be Done in JavaScript (Browser)?
Yes! You can:

Use an HTML <canvas> to load, resize, and crop the image.
Read pixel data with getImageData.
Convert each pixel to BGR565, invert it, and write to a binary buffer.
Offer the result as a downloadable .raw file.
Would you like a ready-to-use JavaScript/HTML tool for this? I can provide a complete example you can run in your browser.
