/**
 * 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;
}
Example #2
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);
    }
}