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


C++ dng_stream::TagValue_urational方法代码示例

本文整理汇总了C++中dng_stream::TagValue_urational方法的典型用法代码示例。如果您正苦于以下问题:C++ dng_stream::TagValue_urational方法的具体用法?C++ dng_stream::TagValue_urational怎么用?C++ dng_stream::TagValue_urational使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在dng_stream的用法示例。


在下文中一共展示了dng_stream::TagValue_urational方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: buffer


//.........这里部分代码省略.........

		case tcBaselineExposure:
			{

			CheckTagType (parentCode, tagCode, tagType, ttSRational);

			CheckTagCount (parentCode, tagCode, tagCount, 1);

			fBaselineExposure = stream.TagValue_srational (tagType);

			#if qDNGValidate

			if (gVerbose)
				{

				printf ("BaselineExposure: %+0.2f\n",
					    fBaselineExposure.As_real64 ());

				}

			#endif

			break;

			}

		case tcBaselineNoise:
			{

			CheckTagType (parentCode, tagCode, tagType, ttRational);

			CheckTagCount (parentCode, tagCode, tagCount, 1);

			fBaselineNoise = stream.TagValue_urational (tagType);

			#if qDNGValidate

			if (gVerbose)
				{

				printf ("BaselineNoise: %0.2f\n",
						fBaselineNoise.As_real64 ());

				}

			#endif

			break;

			}

		case tcNoiseReductionApplied:
			{

			if (!CheckTagType (parentCode, tagCode, tagType, ttRational))
				return false;

			if (!CheckTagCount (parentCode, tagCode, tagCount, 1))
				return false;

			fNoiseReductionApplied = stream.TagValue_urational (tagType);

			#if qDNGValidate

			if (gVerbose)
				{
开发者ID:KDE,项目名称:digikam,代码行数:67,代码来源:dng_shared.cpp

示例2: switch

bool DngExif::Parse_ifd0_exif (dng_stream &stream,
                               dng_shared &shared,
                               uint32 parentCode,
                               uint32 tagCode,
                               uint32 tagType,
                               uint32 tagCount,
                               uint64 tagOffset)
{
    switch (tagCode)
    {
    case tcCameraOwnerName:
    {
        CheckTagType(parentCode, tagCode, tagType, ttAscii);
        ParseStringTag(stream, parentCode, tagCode, tagCount, fOwnerName);
#if qDNGValidate
        if(gVerbose)
        {
            printf("CameraOwnerName: ");
            DumpString(fOwnerName);
            printf("\n");
        }
#endif
        break;
    }
    case tcBodySerialNumber:
    {
        CheckTagType(parentCode, tagCode, tagType, ttAscii);
        ParseStringTag(stream, parentCode, tagCode, tagCount, fCameraSerialNumber);
#if qDNGValidate
        if(gVerbose)
        {
            printf("BodySerialNumber: ");
            DumpString(fCameraSerialNumber);
            printf("\n");
        }
#endif
        break;
    }
    case tcLensSpecification:
    {
        CheckTagType(parentCode, tagCode, tagType, ttRational);
        if (!CheckTagCount(parentCode, tagCode, tagCount, 4))
            return false;
        fLensInfo[0] = stream.TagValue_urational(tagType);
        fLensInfo[1] = stream.TagValue_urational(tagType);
        fLensInfo[2] = stream.TagValue_urational(tagType);
        fLensInfo[3] = stream.TagValue_urational(tagType);

        // Some third party software wrote zero rather and undefined values
        // for unknown entries.  Work around this bug.
        for (uint32 j = 0; j < 4; j++)
        {
            if (fLensInfo[j].IsValid() && fLensInfo[j].As_real64() <= 0.0)
            {
                fLensInfo[j] = dng_urational(0, 0);
#if qDNGValidate
                ReportWarning ("Zero entry in LensInfo tag--should be undefined");
#endif
            }
        }
#if qDNGValidate
        if(gVerbose)
        {
            printf("LensSpecification: ");
            real64 minFL = fLensInfo[0].As_real64();
            real64 maxFL = fLensInfo[1].As_real64();
            if (minFL == maxFL)
                printf ("%0.1f mm", minFL);
            else
                printf ("%0.1f-%0.1f mm", minFL, maxFL);
            if (fLensInfo[2].d)
            {
                real64 minFS = fLensInfo[2].As_real64();
                real64 maxFS = fLensInfo[3].As_real64();
                if (minFS == maxFS)
                    printf(" f/%0.1f", minFS);
                else
                    printf(" f/%0.1f-%0.1f", minFS, maxFS);
            }
            printf("\n");
        }
#endif
        break;
    }
    case tcLensMake:
        break;
    case tcLensModel:
    {
        CheckTagType(parentCode, tagCode, tagType, ttAscii);
        ParseStringTag(stream, parentCode, tagCode, tagCount, fLensName);
#if qDNGValidate
        if(gVerbose)
        {
            printf("LensModel: ");
            DumpString(fLensName);
            printf("\n");
        }
#endif
        break;
    }
//.........这里部分代码省略.........
开发者ID:crass,项目名称:dngconvert,代码行数:101,代码来源:dngexif.cpp


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