使用 Lightroom,我知道如何将相机配置文件(*.dcp 文件)应用到我的 *.DNG 图像。
我想在我正在编写的应用程序中做同样的事情,所以我想一个好的起点是将此功能附加到 dng_validate.exe 应用程序。
于是我开始补充:
#include "dng_camera_profile.h"
然后补充说:
static dng_string gDumpDCP;
并将以下内容添加到错误打印中:
"-dcp <file> Load camera profile from <file>.dcp\"\n"
然后我添加了从 cli 读取 dcp 的函数:
else if (option.Matches("dcp", true))
{
gDumpDCP.Clear();
if (index + 1 < argc)
{
gDumpDCP.Set(argv[++index]);
}
if (gDumpDCP.IsEmpty() || gDumpDCP.StartsWith("-"))
{
fprintf(stderr, "*** Missing file name after -dcp\n");
return 1;
}
if (!gDumpDCP.EndsWith(".dcp"))
{
gDumpDCP.Append(".dcp");
}
}
然后我从磁盘加载配置文件 [第 421 行]:
if (gDumpTIF.NotEmpty ())
{
dng_camera_profile profile;
if (gDumpDCP.NotEmpty())
{
dng_file_stream inStream(gDumpDCP.Get());
profile.ParseExtended(inStream);
}
// Render final image.
.... rest of code as it was
那么我现在如何使用配置文件数据来校正渲染并写入校正后的图像?