I searched the internet for a program to convert the image files to the OTA file format, but there was none!!! So, I began researching for OTA file format details... finally, I wrote a program with C# to do this...
The source code and binary files are ready for download...
The main logic of this program is an algorithm for converting images. Mobile picture messages (OTA or OTB files) have a standard size: 72x28. First of all we must create a file (*.ota) and then write 4 standard bytes into it.
byte0 -> 0000 0000 (0)
byte1 -> 0100 1000 (72)
byte2 -> 0001 1100 (28)
byte3 -> 0000 0001 (1)
Now read image, pixel by pixel, from left to right and top to bottom, every 8 pixel makes a byte for writing to the file:
black pixels = 0
Other pixels = 1
An image with size 72x28:
has 72*28 = 2016 (bits)
every 8 bits = 1 byte => 2016 / 8 = 252
and 252(bytes) + 4(standard bytes) = 256 bytes
Finally, the file size is 256 bytes.
Download and read my source code to see this program working...