# Aseprite files as tileset images

**URL:** <https://discourse.mapeditor.org/t/aseprite-files-as-tileset-images/5084>\
**Category:** Development\
**Created:** [April 22, 2021, 3:42am UTC](https://discourse.mapeditor.org/t/aseprite-files-as-tileset-images/5084 "2021-04-22T03:42:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ShidoBox](https://avatars.discourse-cdn.com/v4/letter/s/8c91f0/32.png) [@ShidoBox](https://discourse.mapeditor.org/u/ShidoBox)\
**Post date:** [April 22, 2021, 3:42am UTC](https://discourse.mapeditor.org/t/aseprite-files-as-tileset-images/5084/1 "2021-04-22T03:42:10Z")

</div>

Hello!! Before I start, English is not my first language so if you don’t understand something, please don’t give up on me.

When creating a tileset, you can select an image as a source file, but among the different file formats, Tiled doesn’t recognize the [Aseprite file format](https://github.com/aseprite/aseprite/blob/master/docs/ase-file-specs.md). This implies that after I make a change on an image file, I must re-export to a .png to be updated on Tiled.

I know that I could hook up some commands through the [Aseprite’s command line](https://www.aseprite.org/docs/cli/) to re-export, and this works for 99% of the people, but not for me, since I’m trying to not have a redundancy on files.

Is there any development been done in this aspect? If not, how could I start to tackle this? I’m a beginner learning c++ and I think this could be a good experience for me. Thank you.

---

<div class="post-metadata">

**Author:** ![bjorn](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.mapeditor.org/bjorn/32/1599_2.png) [@bjorn](https://discourse.mapeditor.org/u/bjorn)\
**Post date:** [April 22, 2021, 7:16am UTC](https://discourse.mapeditor.org/t/aseprite-files-as-tileset-images/5084/2 "2021-04-22T07:16:43Z")

</div>

> [@ShidoBox](#):
>
> I know that I could hook up some commands through the [Aseprite’s command line](https://www.aseprite.org/docs/cli/) to re-export, and this works for 99% of the people, but not for me, since I’m trying to not have a redundancy on files.

It’s a noble goal, and it appears plugins exist for using Aseprite files in Godot and Unity, so you’re definitely not the only one with reason to avoid additional files. 🙂

> [@ShidoBox](#):
>
> Is there any development been done in this aspect? If not, how could I start to tackle this? I’m a beginner learning c++ and I think this could be a good experience for me. Thank you.

I did some quick searching but could not find an existing Qt image loading plugin for Aseprite. If this would exist, then Aseprite files could be used directly as tileset images.

If you’re interested in starting a new Qt image plugin, the following resources should help:

- [Writing a Qt Image Plugin](https://doc.qt.io/archives/qq/qq17-imageio.html) (general overview, but a little outdated since Qt has changed a bit since)
- [How to Create Qt Plugins | Qt 5.15](https://doc.qt.io/qt-5/plugins-howto.html) (up to date documentation on writing Qt plugins, just not specifically about image plugins)
- [GitHub - jakar/qt-heif-image-plugin: Qt plugin for HEIF images](https://github.com/jakar/qt-heif-image-plugin) (a relatively recent Qt image plugin that could be a good example)
- [https://github.com/aseprite/aseprite/tree/main/src/dio](https://github.com/aseprite/aseprite/tree/main/src/dio) (this dio module appears to provide support for loading .aseprite files and is MIT-licensed, it could save you writing the entire loading so you “just” need to convert the `doc::Document` into a `QImage`)

Good luck and let me know if you are stuck anywhere!
