Рендеринг mapnik tiles в BMP

Здравствуйте!
Подскажите как производить рендеринг тайлов в BMP. Как я уже только не извращался.
Предполагаю, что нужно брать mapnik.Image(x, y).tostring() и как то записывать. Записывать пробовал самыми разными способами, результат - 0.
Прошу вашей помощи.

название темы шедевральное.
в комплекте мапника есть generate_tiles.py, где вызывается mapnik.Image(filename, ‘png256’).

и? мне bmp нужно, а не png…
на сколько понял, mapnik вообще не поддерживает рендеринг тайлов в bmp

Да, только png и jpeg. Можно получить файл в toString, и затем сторонними средствами преобразовать.

Я извиняюсь, но вы первый пост читали? Или ограничились прочтением половины названия темы?

Это все мне уже известно. Сторонними средствами произвести рендеринг в bmp используя toString у меня не получилось, по этому я попросил помощи.

По теме: PIL вроде бы понимает BMP, так что в любом случае PNG в BMP им можно конвертировать.
Офф: Какие обстоятельства могут заставить использовать BMP в 2011 году?


# create a Image32 object
image = mapnik.Image(self.width, self.height)
# render map to Image32 object
mapnik.render(self.map, image)
# load raw data from Image32 to bitmap
self.bmp = wx.BitmapFromBufferRGBA(self.width, self.height, image.tostring())

Оно? Выдалось первой ссылкой в гугле по запросу “mapnik bmp”.

Нет, это работа с wxPython

Да, я с помощью PIL как раз и пробовал записать, ошибка была в том, что запись делал RGBA, а надо просто RGB.
В общем проблему решил вот таким кодом, мб еще кому то пригодится:

        im = mapnik.Image(render_size, render_size)
        mapnik.render(self.m, im)
        im = Image.fromstring("RGBA", (256, 256), im.tostring())
        r, g, b, a = im.split()
        im = Image.merge("RGB", (r, g, b))
        im.save(tile_uri)

Ох, не сыпь мне соль на рану :smiley: