Sign in to follow this  
sitedude

Blob (Bmp 5-5-5) Image help needed

Recommended Posts

sitedude    104
I am trying to find a simple way to replace images on an Innotab (kids vtech device)

The images are stored in a SQLite database in Blob Format.

The images are Bmp 5-5-5 (without a header)

I am able to view them using an AutoIT script

[url="http://pastebin.com/v2dyRyBG"]http://pastebin.com/v2dyRyBG[/url]

The above link is the auto it script

the [b]"SELECT thumbnail FROM Games_info where pkey='3'"[/b] pulls the blob file from the database

Here is the blob file I saved directly from the database

[url="http://wikisend.com/download/239802/blobthumbnail"]http://wikisend.com/download/239802/blobthumbnail[/url]

Does anyone know an easy way to possible edit this blob file? Or a way I can make a 57x57 a 5-5-5 bmp blob without a header so i can insert it into the SQLite db?

Share this post


Link to post
Share on other sites
Endurion    5407
The file contains two dwords with width and height, and then the plain image data (2 bytes per pixel).

If you don't have a program that can work with that kind of data, the simplest way would be to write a programm to append/remove a image header of a format than can store that data.

I'd suggest BMP or TGA, both allow the pixel data in exactly that format.

Share this post


Link to post
Share on other sites
sitedude    104
Thats a great idea! Would Paint Brush do the trick? I have Gimp also. I heard that the header of a bmp is the first 54 bytes. So If I some how made a 5-5-5 image then used a hex editor to remove the first 54 bytes that would work?

Can you recommend a program to save in bmp 555 format?

Share this post


Link to post
Share on other sites
Endurion    5407
The problem is that most paint programs do not cater to 16 bit 5-5-5 (or 5-6-5 ) color depth.

Here, try this, it's a hex dump of 16bit bitmap header for a 57x57 image. Since you seem to do Linux/Unix I think you can use one of the shell tools to convert it to binary. The problem I fear is that bitmaps do use padding (4 bytes per line), so that probably won't work.

42 4D 0A 1A 00 00 00 00 00 00 36 00 00 00 28 00
00 00 39 00 00 00 39 00 00 00 01 00 10 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 Edited by Endurion

Share this post


Link to post
Share on other sites
[quote name='Endurion' timestamp='1354996359' post='5008580']
The problem I fear is that bitmaps do use padding (4 bytes per line), so that probably won't work.
[/quote]
Just 'cause I'm curious, are you saying every bitmap format aligns each line of pixels to 4 bytes?
Or that, regardless of the length of a line, there are 4 empty bytes at the end of each one?

And is the first bit or the last bit of a 16-bit 555 bitmap pixel the ignored bit?

Share this post


Link to post
Share on other sites
Endurion    5407
[quote name='Servant of the Lord' timestamp='1355000105' post='5008599']
[quote name='Endurion' timestamp='1354996359' post='5008580']
The problem I fear is that bitmaps do use padding (4 bytes per line), so that probably won't work.
[/quote]
Just 'cause I'm curious, are you saying every bitmap format aligns each line of pixels to 4 bytes?
Or that, regardless of the length of a line, there are 4 empty bytes at the end of each one?

And is the first bit or the last bit of a 16-bit 555 bitmap pixel the ignored bit?
[/quote]

Not every bitmap format, only the Windows BMP format AFAIK.

Every line of pixels is padded to a full multiple of four bytes. The padding bytes are added at the end of a line. 16-bit bitmaps are always stored as 5-5-5, xRRRRRGGGGGBBBBB, unless the color masks in the header say otherwise. For simplicity sake the color masks in the sample hex dump are set to 0, then xRRRRRGGGGGBBBBB is the default. Edited by Endurion

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this