/** * Save texture to file. * @param name - name of the file * @param data - smart array containing data of the file * @param width - width of the data * @param height - height of the data * @return 0 if no error occurs * @note: Can only be used with 32-Bit per Pixel data (RGBA). */ int nrCTextureLoader::save(const string& name,const shared_array<byte>& data,int width,int height) { if(strcmp(name.c_str(),".tga")) return save_tga(name,data,width,height); if(strcmp(name.c_str(),".jpg")) return save_jpeg(name,data,width,height,80); nrLog.Log(NR_LOG_ENGINE, "nrCTextureLoader::save():unknown format of '%s' file",name.c_str()); return 0; }
void save_img(std::string filename, const Matrix<Color>& img) { std::size_t n = filename.size(); std::string extension3 = filename.substr(n-3, n); std::string extension4 = filename.substr(n-4, n); if(!extension3.compare("bmp")) { save_bmp(filename, img); } else if(!extension3.compare("gif")) { save_gif(filename, img); } else if(!extension3.compare("ico")) { save_ico(filename, img); } /*else if(!extension3.compare("jpg")) { save_jpeg(filename, img); }*/ else if(!extension3.compare("pcx")) { save_pcx(filename, img); } else if(!extension3.compare("png")) { save_png(filename, img); } else if(!extension3.compare("pbm")) { save_pbm(filename, color2bwimage(img)); } else if(!extension3.compare("pgm")) { save_pgm(filename, color2grayimage(img)); } else if(!extension3.compare("ppm")) { save_ppm(filename, img); } else if(!extension3.compare("tga")) { save_tga(filename, img); } else if(!extension4.compare("tiff")) { save_tiff(filename, img); } }