[core] Fix image type of Map::renderStill

It's a premultiplied image. This implies that we were misusing encodePNG
in most cases, as we were passing premultiplied pixels which were then
interpreted as unmultiplied. I changed encodePNG to accept premultipled
pixels, and unpremultiply in the implementations.
This commit is contained in:
John Firebaugh
2015-11-25 13:49:12 -08:00
parent ed5eb9edc1
commit 1d33790dc0
21 changed files with 70 additions and 67 deletions

View File

@@ -300,7 +300,7 @@ void NodeMap::startRender(std::unique_ptr<NodeMap::RenderOptions> options) {
map->setBearing(options->bearing);
map->setPitch(options->pitch);
map->renderStill([this](const std::exception_ptr eptr, mbgl::UnassociatedImage&& result) {
map->renderStill([this](const std::exception_ptr eptr, mbgl::PremultipliedImage&& result) {
if (eptr) {
error = std::move(eptr);
uv_async_send(async);