How do you call tmxrasterizer? If you call it like tmxrasterizer map.tmx output.png it should render the map to the output.png. That works here at least.
No it currently does not render object layers. How should it render them anyway? Object layers mainly extend the map with additional information… Though tmxrasterizer should probably export tile objects. I am not sure if it does that at the moment, it might not.
You can specify --hide-layer for hiding a specific layer name.
Here is the output of tmxrasterizer --help:
Usage:
tmxrasterizer [options] [input file] [output file]
Options:
-h --help : Display this help
-v --version : Display the version
-s --scale SCALE : The scale of the output image (default: 1)
-t --tilesize SIZE : The requested size in pixels at which a tile is rendered
Overrides the --scale option
-a --anti-aliasing : Smooth the output image using anti-aliasing
--ignore-visibility : Ignore all layer visibility flags in the map file, and render all
layers in the output (default is to omit invisible layers)
--hide-layer : Specifies a layer to omit from the output image
Can be repeated to hide multiple layers
This should only be a warning printed by an internal library because your images seem to use a incorrec RGB profile. But it should still output a file…
Here I successfully rendered this map (it depends on some tileset within the repository) with this command:
´´´
tmxrasterizer sandbox.tmx sandbox.png
´´´
Does that map work for you? I have no idea why it does not work on your machine…
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=3 delims== " %%n in ('findstr /c:"layer name" %1.tmx') do (
set layers=!layers! %%~n
)
set c=1
for %%l in (%layers::= %) do (
set hide=
for %%h in (%layers::= %) do (
if not %%h==%%l (
set hide= !hide! --hide-layer %%h
)
)
call "C:/program files (x86)/tiled/tmxrasterizer.exe" !hide! %1.tmx %%l_.png
copy %%l_.png %1_!c!.png
set /a c+=1
)