本文整理汇总了C++中Arguments::exportPalettes方法的典型用法代码示例。如果您正苦于以下问题:C++ Arguments::exportPalettes方法的具体用法?C++ Arguments::exportPalettes怎么用?C++ Arguments::exportPalettes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Arguments
的用法示例。
在下文中一共展示了Arguments::exportPalettes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fromTexture
void fromTexture(TextureFile *texture, const QString &path, const Arguments &args, int num = -1)
{
QString destPathTexture;
bool error = false;
if (args.palette() < 0 || args.palette() >= texture->colorTableCount()) {
if (texture->colorTableCount() <= 0) {
destPathTexture = args.destination(path, num);
if (!saveTextureTo(texture, destPathTexture)) {
error = true;
}
}
for (int paletteID=0; paletteID<texture->colorTableCount(); ++paletteID) {
texture->setCurrentColorTable(paletteID);
destPathTexture = args.destination(path, num, paletteID);
if (!saveTextureTo(texture, destPathTexture)) {
error = true;
}
}
} else {
destPathTexture = args.destination(path, num);
if (!saveTextureTo(texture, destPathTexture)) {
error = true;
}
}
if (!error) {
if (args.exportMeta()) {
ExtraData meta = texture->extraData();
if (!meta.fields().isEmpty()) {
QString destPathMeta = args.destinationMeta(path, num);
if (!meta.save(destPathMeta)) {
qWarning() << "Error: Cannot save extra data";
return;
} else {
printf("%s\n", qPrintable(QDir::toNativeSeparators(destPathMeta)));
}
}
}
if (args.exportPalettes() && texture->depth() < 16) { // Do not use isPaletted for that!
QImage palette = texture->palette();
if (!palette.isNull()) {
QString destPathPalette = args.destinationPalette(path, num);
if (!palette.save(destPathPalette)) {
qWarning() << "Error: Cannot save palette";
return;
}
printf("%s\n", qPrintable(QDir::toNativeSeparators(destPathPalette)));
} else {
qWarning() << "Warning: No palette to export";
return;
}
}
}
if (error) {
qWarning() << "Error: Cannot save image";
}
}