diff --git a/src/nvimage/ImageIO.cpp b/src/nvimage/ImageIO.cpp index 9107799..cccfd99 100644 --- a/src/nvimage/ImageIO.cpp +++ b/src/nvimage/ImageIO.cpp @@ -73,7 +73,7 @@ namespace nv #if defined(HAVE_PNG) static Image * loadPNG(Stream & s); - static bool savePNG(Stream & s, const Image * img, const PngCommentsMap & comments = PngCommentsMap()); + static bool savePNG(Stream & s, const Image * img, const ImageMetaData * tags); #endif #if defined(HAVE_JPEG) @@ -241,13 +241,13 @@ bool nv::ImageIO::saveFloat(const char * fileName, Stream & s, const FloatImage return saveFloatFreeImage(fif, s, fimage, baseComponent, componentCount); } #else // defined(HAVE_FREEIMAGE) - //if (num_components == 3 || num_components == 4) - if (num_components <= 4) + //if (componentCount == 3 || componentCount == 4) + if (componentCount <= 4) { - AutoPtr image(fimage->createImage(base_component, num_components)); + AutoPtr image(fimage->createImage(baseComponent, componentCount)); nvCheck(image != NULL); - if (num_components == 1) + if (componentCount == 1) { Color32 * c = image->pixels(); const uint count = image->width() * image->height(); @@ -257,7 +257,7 @@ bool nv::ImageIO::saveFloat(const char * fileName, Stream & s, const FloatImage } } - if (num_components == 4) + if (componentCount == 4) { image->setFormat(Image::Format_ARGB); } @@ -265,6 +265,8 @@ bool nv::ImageIO::saveFloat(const char * fileName, Stream & s, const FloatImage return ImageIO::save(fileName, image.ptr()); } #endif // defined(HAVE_FREEIMAGE) + + return false; } bool nv::ImageIO::saveFloat(const char * fileName, const FloatImage * fimage, uint baseComponent, uint componentCount) @@ -1184,19 +1186,19 @@ bool nv::ImageIO::savePNG(Stream & s, const Image * img, const ImageMetaData * t png_set_rows(png_ptr, info_ptr, row_data); png_text * text = NULL; - if (tags != NULL && tags->count() > 0) + if (tags != NULL && tags->tagMap.count() > 0) { - text = new png_text[tags->count()]; - memset(text, 0, tags->count() * sizeof(png_text)); + text = new png_text[tags->tagMap.count()]; + memset(text, 0, tags->tagMap.count() * sizeof(png_text)); int n = 0; - foreach (i, *tags) + foreach (i, tags->tagMap) { text[n].compression = PNG_TEXT_COMPRESSION_NONE; - text[n].key = const_cast ((*tags)[i].key.str()); - text[n].text = const_cast ((*tags([i].value.str()); + text[n].key = const_cast (tags->tagMap[i].key.str()); + text[n].text = const_cast (tags->tagMap[i].value.str()); n++; } - png_set_text(png_ptr, info_ptr, text, tags->count()); + png_set_text(png_ptr, info_ptr, text, tags->tagMap.count()); } png_write_png(png_ptr, info_ptr,