当前位置: 首页>>代码示例>>C++>>正文


C++ Arguments::exportPalettes方法代码示例

本文整理汇总了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";
	}
}
开发者ID:myst6re,项目名称:vincent-tim,代码行数:61,代码来源:main.cpp


注:本文中的Arguments::exportPalettes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。