本文整理汇总了C++中Compressor::Process方法的典型用法代码示例。如果您正苦于以下问题:C++ Compressor::Process方法的具体用法?C++ Compressor::Process怎么用?C++ Compressor::Process使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Compressor
的用法示例。
在下文中一共展示了Compressor::Process方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char** argv)
{
if ( argc < 3 )
{
static const char* msg =
#if DITHERING
"Usage: %s [-d] [-e] [-p preview] [-c palette_count] [-o output] <input>\n"
" -d : enable floyd-steinberg dithering\n"
#else
"Usage: %s [-e] [-p preview] [-c palette_count] [-o output] <input>\n"
#endif
" -e : enable 2-colors extended palettes\n"
" -p <file> : output preview to file\n"
" -c <palette_count> : number of 4-colors palettes generated\n"
" default is 192.\n"
" -o <output> : output file, default is input.ctx.\n";
fprintf(stderr, msg, argv[0]);
return 42;
}
std::string output;
const char* preview = 0;
u32 nbPalettes = 192;
bool dither = false;
bool extend = false;
int c;
while ( (c = getopt(argc, argv, "p:c:o:de")) != -1 )
{
switch ( c )
{
case 'p':
{
preview = optarg;
break;
}
case 'c':
{
nbPalettes = atoi(optarg);
break;
}
case 'o':
{
output = optarg;
break;
}
#if DITHERING
case 'd':
{
dither = true;
break;
}
#endif
case 'e':
{
extend = true;
break;
}
}
}
const char* input = argv[optind];
if ( output.size() == 0 )
{
output = input;
output += ".ctx";
}
Compressor compressor;
if ( ! compressor.Open(input) )
{
return 1;
}
compressor.Process(output.c_str(), nbPalettes, extend, dither, preview);
return 0;
}