首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EXIF分数计算

EXIF分数计算
EN

Stack Overflow用户
提问于 2012-03-28 15:38:09
回答 1查看 439关注 0票数 1

我正在修改jpeg EXIF数据。有些数据需要定义为分数。在这里,我有两个问题:1)哪个是正确的分数“格式”?例如,当我的曝光时间("ExposureTime")为30000µs并将其存储为30000/1000000时,EXIF查看器显示错误的曝光。存储为"1/30“将返回正确的结果。所有的分数都必须是"1/x“吗?

2.)如何快速计算分数?我现在使用的方法(类似于1中的"Dec2Frac“)非常慢。

致以敬意,

1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-25 20:39:26

这是我在C#中用来计算EXIF数据分数的代码。该方法返回一个包含两个整数的数组-一个是分子,一个是分母。

代码语言:javascript
复制
public static int[] GetFraction(Decimal value)
        {
            int denominator = 1;
            int numeratorMultiplier = 1;
            Decimal numerator = value * numeratorMultiplier;
            int failSafe = 0;

            while (Decimal.Remainder(numerator, 1m) != 0m && failSafe < 20 && ((long)numerator * 10) < Int32.MaxValue)
            {
                denominator *= 10;
                numeratorMultiplier *= 10;

                numerator = value * numeratorMultiplier;
                failSafe++;
            }

            return new int[] {Decimal.ToInt32(numerator), denominator};
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9903079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档