Image Transcoder

Creations

Steph

5 years ago

Versatile Image Transcoder

This is a new tool to transcode your images in C++. It recognizes the following image formats: PNG, GIF, JPG and BMP. And it offers support for all the display modes that exist on META:

  • RGB565 for resolutions 80x64 and 160x128.
  • RGB565 with indexed colors for resolutions 80x64 and 160x128
  • RGB565 for the use of gb.tft API with 160x128 resolution

In the case of indexed color images, the transcoder also generates the code of the color palette you have provided.

About spritesheets and tilesets

You must provide an image in accordance with the values given for the width and height of the frames. The transcoder must be able to automatically split the image to isolate each frame. In the image, the frames must be placed on a grid that will be read, first from left to right, and then from top to bottom. If the grid has totally transparent frames, they will simply be ignored. Warning: if you do not specify a transparency color, the first decoded color will play this role. In other words, if a frame is entirely painted with this color, it will automatically be considered totally transparent and therefore ignored.

About indexed color images

This type of image must be accompanied by a colour palette. By default, the transcoder uses the official Gamebuino palette. If you have created your image with another palette, you must provide it to the transcoder. It is simply an additional image (that you can also drag and drop into the appropriate insert), where each pixel represents a color. This palette must have exactly 16 pixels. Pallet dimensions can be 16x1, 8x2, 4x4, 2x8 or 1x16.

If your image has less than 16 colors, you must complete your palette with any color of your choice (present or not on the image).

If your image has transparent pixels, the transparency color must appear in your palette. Otherwise, the first color of the palette will play this role. Therefore, any frame that is entirely painted with this color will be considered transparent and therefore ignored.

The example below illustrates a way to define your sprites with the same color palette, if you specify 0xff00ff as the transparency color:



View full creation

jicehel

NEW 5 years ago

English version just below after french version...  :)

Génial!  merci Steph, tu apportes vraiment beaucoup à notre petite communauté. Garde la patates et continues d'avoir plein d'idées.  :)

Great ! Thanks Steph, you make great job for our group of META owners. Continue to have so many energy and so many ideas :)

Codnpix

NEW 5 years ago

Salut ! Tu as été vite finalement ! Génial, merci beaucoup !!


Thanks a lot for that great contrib Steph ! This is going to help a lot.

Steph

NEW 5 years ago

Don't forget that our English-speaking friends will want to be able to read your comments as well ;-)

fabpianista

NEW 5 years ago

Hi guys! I'm trying to use both of the image transcoders on Chrome and Safari for Mac and they don't work. :(

Maybe I'm doing something wrong? I'm trying to transcode an image with 160x128 pixels.

Any help you be much appreciated. Merci! :)

Steph

5 years ago

Hi fabpianista,

I'm on macOS and ImageTranscoder works perfectly with Chrome and Safari!

What exactly is your problem?

Steph

5 years ago

Here is a screenshot from Safari, but we get exactly the same thing with Chrome !

Steph

NEW 5 years ago

fabpianista fabpianista

Hi fabpianista,

I'm on macOS and ImageTranscoder works perfectly with Chrome and Safari!

What exactly is your problem?

Steph

NEW 5 years ago

fabpianista fabpianista

Here is a screenshot from Safari, but we get exactly the same thing with Chrome !

fabpianista

5 years ago

Hi Steph,

Many thanks for your reply! It turns out that the conversion tool was not working with BMPs. After converting my sprites to PNGs, it worked as intended. :)

Muito obrigado! :D

fabpianista

NEW 5 years ago

Steph Steph

Hi Steph,

Many thanks for your reply! It turns out that the conversion tool was not working with BMPs. After converting my sprites to PNGs, it worked as intended. :)

Muito obrigado! :D

Steph

5 years ago

Com prazer!

Of course it works with BMP files!
I just did the test with different color depths: 32, 24, 16, 8, 4 and 1 bit :-)
Maybe your creative tool generates a strange format?

Steph

NEW 5 years ago

fabpianista fabpianista

Com prazer!

Of course it works with BMP files!
I just did the test with different color depths: 32, 24, 16, 8, 4 and 1 bit :-)
Maybe your creative tool generates a strange format?

sentinel87

NEW 5 years ago

Steph this is great tool. Thx for sharing it :D Created all images for my game so far :)

Steph

5 years ago

I'm very happy that it was able to help you ;-)

Steph

NEW 5 years ago

sentinel87 sentinel87

I'm very happy that it was able to help you ;-)

DavTheDev

NEW 5 years ago

I used it as well for all my graphics. Real time saver!

There's one little thing that may be a bug: it is impossible to scroll down in the ouput code box and manually select what to copy & paste, especially when the image is large. Just saying that, because I don't need to get the palette definition back with each new indexed image I'm adding to the game.
Something that would be nice as well is autodetecting the width and height from the provided image source. Especially when multiple frames are not needed.

Steph

5 years ago

Hello Dav,

Glad to know you find the tool useful.

In fact, it's not a bug at all... to be able to scroll through the text field and copy a selection, you have to give it keyboard focus.

And thanks for the improvement tips... I'll think about it for the next version, as soon as I have time!

Steph

NEW 5 years ago

DavTheDev DavTheDev

Hello Dav,

Glad to know you find the tool useful.

In fact, it's not a bug at all... to be able to scroll through the text field and copy a selection, you have to give it keyboard focus.

And thanks for the improvement tips... I'll think about it for the next version, as soon as I have time!